Проблема с выбором в асинхронном необработанном запросе к Sqlitie DB в Xamarin C # - PullRequest
0 голосов
/ 06 сентября 2018

Использование ExecuteAsync работает для создания, вставки и т. Д., Но не для выбора.Это два запроса, которые работают: CREATE TABLE t(x INTEGER PRIMARY KEY ASC, y, z) и insert into t(y, z) values(2, 2)

Но select не работает.Это мой код:

SQLiteAsyncConnection conn = new SQLiteAsyncConnection(App.Databaselocation);
var result = await conn.ExecuteAsync("select y from t");

И выдает исключение SQLiteException:

"SQLite.SQLiteException: Row \ n в SQLite.SQLiteCommand.ExecuteNonQuery () [0x000ad] в / Users/vagrant/git/src/SQLite.cs:2334 \ n в SQLite.SQLiteConnection.Execute (запрос System.String, аргументы System.Object []) [0x0003a] в /Users/vagrant/git/src/SQLite.cs:673 \ n в SQLite.SQLiteAsyncConnection + <> c__DisplayClass21_0.b__0 () [0x00013] в /Users/vagrant/git/src/SQLiteAsync.cs:222 \ n в System.Threading.Tasks.Task 1[TResult].InnerInvoke () [0x0000f] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 \n at System.Threading.Tasks.Task.Execute () [0x00010] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 \n--- End of stack trace from previous location where exception was thrown ---\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 \n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 \n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 \n at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <f32579baafc1404fa37ba3ec1abdc0bd>:0 \n at System.Runtime.CompilerServices.TaskAwaiter 1 [TResult].GetResult () [0x00000] в: 0 \ n в Byou.PoblacionPage + d__1.MoveNext () [0x00044] в C: \ Users \ sgmon \ OneDrive \ Projects \ Mars \ Pob.xaml.cs: 41 "

1 Ответ

0 голосов
/ 06 сентября 2018

Вам необходимо использовать Query / QueryAsync, чтобы вернуть набор результатов из SQL выбора:

var result = await conn.QueryAsync<t>("select y from t");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...