سؤال

وايم مجرد تعلم سكليتي ولا أستطيع الحصول على المعلمات بلدي لتجميع إلى الأمر بشكل صحيح. عندما تنفيذ التعليمات البرمجية التالية:

this.command.CommandText = "INSERT INTO [StringData] VALUE (?,?)";

this.data = new SQLiteParameter();
this.byteIndex = new SQLiteParameter();

this.command.Parameters.Add(this.data);
this.command.Parameters.Add(this.byteIndex);

this.data.Value = data.Data;
this.byteIndex.Value = data.ByteIndex;

this.command.ExecuteNonQuery();

وأحصل على استثناء سكليتي. على تفتيش CommandText اكتشفت أن كل ما أفعله لا تضيف المعلمات بشكل صحيح: INSERT INTO [StringData] VALUE (?,?)

وأي أفكار ما أنا في عداد المفقودين؟

والشكر

هل كانت مفيدة؟

المحلول

وحاول VALUES بدلا من VALUE.

نصائح أخرى

وحاول اتباع نهج مختلف، تسمية الحقول في الاستعلام وتسمية المعلمات في الاستعلام:

this.command.CommandText = "INSERT INTO StringData (field1, field2) VALUES(@param1, @param2)";
this.command.CommandType = CommandType.Text;
this.command.Parameters.Add(new SQLiteParameter("@param1", data.Data));
this.command.Parameters.Add(new SQLiteParameter("@param2", data.ByteIndex));
...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top