Лучший способ вернуть значения SQLite

-1

У меня есть 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?

Спасибо за любую помощь.

  • 0
    да, вы можете создать список <T> как var obj = new List<object> ( ) { } затем определить типы данных в коде
  • 1
    Это работа. Благодарю.
Теги:
return-value

2 ответа

0
Лучший ответ

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;
    }

Спасибо, парни... :)

0

Вы можете использовать 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;
    }
  • 0
    Я забыл сказать, что это для универсального приложения для Windows. Я думаю, я не могу использовать набор данных. Извините, если я ошибаюсь ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню