У меня есть SQLite DB в универсальном приложении Windows APP и имеет несколько типов (bool, int и Uint64). Мне нужно вернуть все значения из моей таблицы по ID.
// Id Module
[PrimaryKey]
public int id { set; get; }
// Fix comm state
public bool commState { set; get; }
// Fix home sensor state
public bool homeSensor { set; get; }
// Fix up sensor state
public bool upSensor { set; get; }
// Fix down sensor state
public bool downSensor { set; get; }
// Fix actual tier position
public int actualTier { set; get; }
// Fix actual step of encoder
public UInt64 encodPosition { set; get; }
Я пытаюсь вернуть его списком, но я думаю, что не могу вернуться с разными типами.
Каков наилучший подход для возврата этих значений из базы данных SQLite?
Спасибо за любую помощь.
MethodMan помогает решить проблему.
Я создал объект:
class objModel
{
// Id Module
public int id { set; get; }
// Fix comm state
public bool commState { set; get; }
// Fix home sensor state
public bool homeSensor { set; get; }
// Fix up sensor state
public bool upSensor { set; get; }
// Fix down sensor state
public bool downSensor { set; get; }
// Fix actual tier position
public int actualTier { set; get; }
// Fix actual step of encoder
public UInt64 encodPosition { set; get; }
}
Затем используйте список объектов:
public List<objModel> getParameters()
{
var db = new SQLiteConnection(new SQLitePlatformWinRT(), pathDBLocal);
var sList = db.Table<ModuleDB>();
List<objModel> mList = new List<objModel>();
foreach (var item in sList)
{
mList.Add(item.objM);
}
return mList;
}
Спасибо, парни... :)
Вы можете использовать Entity Framework для возврата нужного вам объекта. Это учебник, который проведет вас до конца:
https://erazerbrecht.wordpress.com/2015/06/11/sqlite-entityframework-6-tutorial/
Если вы хотите использовать ADO.NET, здесь у вас есть метод, который вернет DataSet (используя Sqlite.Net):
private static DataSet ExecuteDataset(string DBLocation, string query)
{
var conn = new SQLiteConnection("Data Source=" + DBLocation + ";Version=3;");
DataSet ds;
try
{
conn.Open();
ds = new DataSet();
var da = new SQLiteDataAdapter(query, conn);
da.Fill(ds);
}
catch (Exception)
{
throw;
}
finally
{
conn.Close();
}
return ds;
}
var obj = new List<object> ( ) { }
затем определить типы данных в коде