Заполнить набор данных из sqlite - PullRequest
0 голосов
/ 01 мая 2020

Как эту функцию можно изменить. Я хочу использовать его для заполнения набора данных из sqllite.

ошибка

enter image description here



 public void fillDATASET( DataSet ds, string tablename, string query)
        {
            string dbPath = Path.Combine(
System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),
        "Department.db3");
              var conn = new SQLite.SQLiteConnection(dbPath);
             using (Mono.Data.Sqlite.SqliteCommand cmd = new SqliteCommand(query, conn))// error conn 
            {
                using (var DataAdapterd = new SqliteDataAdapter(cmd))
                {
                    ds.Clear();
                    DataAdapterd.Fill(ds, tablename);
                }
            }
        }

1 Ответ

2 голосов
/ 01 мая 2020

Это потому, что вы используете две разные библиотеки.

var conn = new SQLite.SQLiteConnection(dbPath); 

здесь вы использовали метод в sqlite- net -pcl nuget,

Mono.Data.Sqlite.SqliteCommand cmd = new SqliteCommand(query, conn)

здесь вы хотите использовать метод в System.Data.SQLite.Core nuget.

Так что вам нужно использовать унифицированный.

Например (используйте System.Data.SQLite.Core nuget):

using System.Data;
using System.Data.SQLite;

public void fillDATASET(DataSet ds, string tablename, string query)
    {
        string dbPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),
    "Department.db3");
        var conn = new SQLiteConnection(dbPath);
        using (SQLiteCommand cmd = new SQLiteCommand(query, conn))// error conn 
        {
            using (var DataAdapterd = new SQLiteDataAdapter(cmd))
            {
                ds.Clear();
                DataAdapterd.Fill(ds, tablename);
            }
        }
    }
...