2017-03-27 13 views
1

SQLite.net - PCLを使用して単純なローカルデータベースを作成し、そこにデータを挿入しました。私の質問は、オブジェクトの1つ、またはデータベースに格納されているすべてのobejectを取得する最も簡単な方法は何ですか?Xamarin.formでSQLiteデータベースにアクセスする最も簡単な方法は何ですか?

マイデータベース:

namespace DatabaseDemo 
{ 
    public class Database 
    { 
     readonly SQLiteAsyncConnection _database; 

     public Database(string path) 
     { 
      _database = new SQLiteAsyncConnection(path); 
      _database.CreateTableAsync<Model>().Wait(); 
     } 

     public Task<int> SaveItemAsync(Model person) 
     { 
      if (person.ID != 0) 
      { 
       return _database.UpdateAsync(person); 

      } 
      else 
      { 
       return _database.InsertAsync(person); 
      } 
     } 
    } 
} 

マイModelクラス:

namespace DatabaseDemo 
{ 
    public class Model 
    { 
     [PrimaryKey, AutoIncrement] 
     public int ID { get; set; } 
     public string Name { get; set; } 
    } 
} 
+0

これはかなりよく書かれています - https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/databases/ – Jason

+0

このチュートリアルでは、すべてのデータを表示するためにリストビューを使用していますが、アプリケーション出力のデータ。だから私はここに投稿 –

+1

ローカルDBにアクセスすることについて尋ねた、リストビューを使用しているか、コンソールに書き込んでいるかどうかに関係なく同じです。チュートリアルがあなたが必要としているのと全く同じことをしないからといって、あなたがそれから学ぶことができないというわけではありません。 – Jason

答えて

3

あなたは、以下の方法を使用することができますSQLiteのデータベースからデータを取得します。

は、すべてを取得します。

public IEnumerable<Model> GetModels() 
{ 
    return (from t in _database.Table<Model>() select t).ToList(); 
} 

そして、選択IDを取得するには:

public Model GetModel(int id) 
{ 
    return _sqlconnection.Table<Model>().FirstOrDefault(t => t.Id == id); 
} 

希望、これはあなたが探しているものです。私が誤解した場合は私に知らせてください。

ありがとうございます。

+1

ありがとう、私は試してみます –

+0

エラーは「選択」が見つかりませんでした。 –

+0

あなたは 'System.Linq'への参照を追加しました。 –

関連する問題