C#のテーブルにレコードを挿入しようとしていますが、レコードをテーブルに挿入するためにクエリを実行するコード行に到達すると、このエラーが発生してまで次のようにSQLiteデータベースにデータを挿入しようとするとデータ型の不一致が発生する
An exception of type 'System.Data.SQLite.SQLiteException' occurred in System.Data.SQLite.dll but was not handled in user code
Additional information: datatype mismatch
私はデータベースにデータを挿入する必要があるコードは次のとおりです。
string stmt = string.Format("INSERT INTO quotes (id, user, quote, date) VALUES ('', '{0}', '{1}', '{2}')", person, quote, date);
SQLiteCommand cmd = new SQLiteCommand(stmt, connection);
int rowsAffected = cmd.ExecuteNonQuery();
person
、quote
とdate
はすべての文字列であり、データベースの構造があります次のようになります。
id = INTEGER PRIMARY KEY
、user = STRING(255)
、quote = STRING(255)
とdate = STRING(255)
にデータを挿入することができますvalues節)を整数(id)に変換します。 –
missmatchの問題についてはわかりませんが、そのような文字列も書くことができますstring stmt = string.Format( "INSERT INTO quotes(user、quote、date)VALUES( '{0}'、 '{1}'、 '{ 2} ') "、人、引用、日付); idがautoincrementedの場合 –
SQL PArametersを使用して開始します。テキストに 'O'Toole'のようなものが含まれているとクラッシュします。彼らは正しいタイプが渡されることを保証します – Plutonix