モノタッチ アプリケーションでは、次のコードを使用して値を挿入しています。
string sql = "insert or ignore into [translation] values (\"7d8281e2-3f0d-4f51-a6bd-bf91af90dc4a\",\"113a1275-e7a0-452d-a1e1-9043c1139584\",\"1\",\"Gömlek\")";
var cmd = _repository.Execute(sql);
ここで、repository は SQLiteConnection を拡張するクラスのインスタンスです。この正確なステートメントは、RazorSql で完全に正常に機能します。しかし、コードで実行すると、次のようになります。
SQLite.SQLiteException: near ""Gömlek"": syntax error
at SQLite.SQLite3.Prepare2 (IntPtr db, System.String query) [0x0001b] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Database/SQLite.cs:1564
at SQLite.SQLiteCommand.Prepare () [0x00000] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Database/SQLite.cs:1000
at SQLite.SQLiteCommand.ExecuteNonQuery () [0x00022] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Database/SQLite.cs:903
at SQLite.SQLiteConnection.Execute (System.String query, System.Object[] args) [0x00040] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Database/SQLite.cs:299
at MyApp.Mobile.iOSApp.LevelImporter.ImportCsv (Int32 level) [0x000f6] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Service/LevelImporter.cs:117
at MyApp.Mobile.iOSApp.LevelImporter.DownloadLevel (Int32 level) [0x0002a] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Service/LevelImporter.cs:61
at MyApp.Mobile.iOSApp.LevelImporter+<StartDownloading>c__AnonStorey12.<>m__2C (System.Object ) [0x00000] in /Users/serhat/Projects/MyApp.Mobile/trunk/MyApp.Mobile.iOSApp/Service/LevelImporter.cs:49
例外インスタンスには他の情報は含まれていません。私は何が欠けていますか?
編集:文字「ö」と関係があると思います。それを「o」に置き換えると、クエリは正常に機能します。ユニコード文字で動作させるにはどうすればよいですか?