Как связать приложение C # с базой данных SQLite - PullRequest
1 голос
/ 15 января 2012

Я хочу подключиться к базе данных SQLite.Пожалуйста, покажите мне пример кода, который работает.Также я хочу связать datagridview с базой данных. Я использую этот код, но он не работает:

private DataTable dt;
public Form1()
{
    InitializeComponent();
    this.dt = new DataTable();
}
private SQLiteConnection SQLiteConnection;
private void DataClass()
{
    SQLiteConnection = new SQLiteConnection("Data Source=PasswordManager.s3db;Version=3;");
}
private void GetData()
{
    SQLiteDataAdapter DataAdapter;
    try
    {
    SQLiteCommand cmd;
    SQLiteConnection.Open();  //Initiate connection to the db
    cmd = SQLiteConnection.CreateCommand();
    cmd.CommandText = "select*from PasswordManager;";  //set the passed query
    DataAdapter = new SQLiteDataAdapter(cmd);
    DataAdapter.Fill(dt); //fill the datasource
    dataGridView1.DataSource = dt;
}
catch(SQLiteException ex)
{
    //Add your exception code here.
}
SQLiteConnection.Close();

Ответы [ 2 ]

3 голосов
/ 15 января 2012

Вы можете использовать System.Data.SQLite ADO.NET провайдера.Как только вы загрузите и ознакомитесь со сборкой, это будет довольно простой код ADO.NET:

using (var conn = new SQLiteConnection(@"Data Source=test.db3"))
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = "SELECT id FROM foo";
    using (var reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {
            int id = reader.GetInt32(reader.GetOrdinal("id"));
            ...
        }
    }
}
2 голосов
/ 15 января 2012

В дополнение к ответу, предоставленному Дарином, в SQLite нет команды «создать базу данных» (насколько я помню).Когда вы инициируете «SQLiteConnection», если данная база данных (.db3) не существует, она автоматически создает ее ... оттуда вы можете создавать свои таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...