SQLite データベースに Unicode 文字列を挿入する Visual Studio C# コードのヘルプが必要です。
以下は、データベースにテスト文字列を書き込むための私のテスト コードです。
string testStr = "á Á ñ ç é á";
SQLiteConnection mydataConnection = new SQLiteConnection(); // setup new sql connection obj
try
{
//// SQLite DB
mydataConnection.ConnectionString =
"Data Source=C:\\Users\\John\\Desktop\\location.db; Version=3; UseUTF16Encoding=True;Synchronous=Normal;New=False"; // set up the connection string
mydataConnection.Open(); // open the connection to the db
SQLiteCommand myCmd = new SQLiteCommand(); // create a new command object
myCmd.Connection = mydataConnection; // whats its connected to, see above connection string
SQLiteParameterCollection myParameters = myCmd.Parameters; // good pratice to use parameters to pass data to db
myParameters.AddWithValue("@name", testStr); //
myCmd.CommandText = "INSERT INTO location (name) VALUES (@name)";
myCmd.ExecuteNonQuery();
}
catch (SQLiteException d)
{
string myerror = "Database Error" + d;
MessageBox.Show(myerror);
}
finally // good pratice to close db connection in a finally so exceptions dont leave open.
{
mydataConnection.Close();
}
(SQLite Administrator を使用して) データベース/テーブルを表示すると、文字列は次のようになります。
テストとして、SQLite Administrator を使用して文字列をデータベースに直接コピー アンド ペーストすると、文字列が保存され、後で問題なく表示できます。
「UseUTF16Encoding=True;」を切り替えてみました。真/偽 - 違いはありません。
私が間違っていることについてのアイデア。