مضيفا المعلمات في SQLite مع C #
-
03-07-2019 - |
سؤال
وايم مجرد تعلم سكليتي ولا أستطيع الحصول على المعلمات بلدي لتجميع إلى الأمر بشكل صحيح. عندما تنفيذ التعليمات البرمجية التالية:
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));
...
لا تنتمي إلى StackOverflow