2017-06-07 6 views
0

Xamarin Forms UWPプロジェクトでSQLite-net-PCL v.1.3.3を使用していますが、この動作を理解できません。それがバグか私が理解していないものかどうかは分かりません。私は、テーブル(FnImage、以下の例では)から列を照会し、行の列の値を持つTestオブジェクトのコレクション内の各インスタンスを使用してローカルオブジェクトのコレクション(以下のTest) FnImageテーブルにあります。私はメモリ管理上の理由から、FnImageテーブルからローのローカルコレクションを作成したくない。私の結果セットは、私が照会している列にデータを入れるだけです。SQLiteAsyncConnection.QueryAsyncがカラムからデータを返さない

Task.Run(async() => 
{ 
var v = await mySQLiteAsyncConnection.QueryAsync<Test>("select 'Name', 'DbBytesThumbnail' from FnImage where 'Id' > ? ", 0); 
... 
}); 

public class Test { 
public byte[] DbBytesThumbnail { get; set; } 
public string Name { get; set; } 
} 

コードは、(FnImageテーブルのデータを考慮すると、より多くのがあるべきである)、それにテストの単一のインスタンスを持つコレクションを作成し、その単一インスタンスの両方の特性がヌルです。私は '名前'として名前を選択し、 'DbBytesThumbnail'としてDbBytesThumbnail ... 'という名前のマッピングを試してみました。ローカルテストオブジェクトのプロパティ名とクエリの "as"句を変更し、最後に ";"(一重引用符があってもなくてもかまいません)、これを成功させずに時間を費やしました。

FnImageテーブルが存在し、型マッピングが正しいため、これらのクラス/テーブルを問題なく使用しています(myAsyncConnection.Table()構文を使用)。タスクがフォルト状態に入りません/例外がスローされません。これはSQLite-net-PCLの問題か、それとも私がやっていることですか?

思考と洞察力を歓迎V ...

+0

カラムの名前の代わりに、*とwhereの条件がない場合は、データを戻していますか? – AVK

+0

私はそれをするとき - var hhid2 =待つ_db.Db.QueryAsync ( "select * from FnImage"); - select *が次のように例外をスローしているところで、構文痛みの世界に入ります。例外がスローされました: 'SQLite.SQLiteException' in SQLite-net.dll 例外がスローされました: 'SQLite.SQLiteException' in( "near FnImage"エラー)( "FnImageから"の近く:構文エラー)。私は単純なSelect *で何か間違っているのかどうか分かりません...私もセミコロンでSQL文を終了しようとしましたが、同じ構文エラーが発生します。 – jcs

答えて

2

私はあなたのコードをテストし、【選択問題は、あなたの SQL文が不正な形式である、あなたの問題を再現しております。表の列を照会する場合は、次のSQLステートメントを使用してみてください。

"select Name, DbBytesThumbnail from FnImage where Id > ? " 
関連する問題