2012-01-15 163 views
1

我想連接到SQLite數據庫。請給我示例代碼哪些工作。此外,我想用database.I用這個代碼鏈接datagridview的,但它不工作:如何將C#應用程序連接到SQLite數據庫

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(); 
+0

你到目前爲止嘗試過什麼?此外,請參閱[這個問題](http://stackoverflow.com/questions/26020/what-is-the-best-way-to-connect-and-use-a-sqlite-database-from-c-sharp) – 2012-01-15 13:47:15

+2

你有[google搜索](https://www.google.com/?#q=c%23%20sqlite%20example)嗎? – Jon 2012-01-15 13:48:07

回答

3

您可以使用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")); 
      ... 
     } 
    } 
} 
+0

提供的鏈接已死亡。看來,至少有兩個地方可以獲得這個軟件包。 https://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki,另一個是位於https://www.nuget.org/packages/System.Data.SQLite的nuget站點 – 2017-05-05 17:43:08

2

除了由達林提供的答案,有SQLite中沒有「創建數據庫」命令(我記得是什麼)。當你啓動一個「SQLiteConnection」時,如果給定的數據庫(.db3)不存在,它會自動創建它......然後你可以創建你的表。

+0

我知道如何做到這一點,所以對我來說這不是問題 – Nikalas1111 2012-01-15 18:05:25

+0

@ Nikalas1111,沒問題,但對於其他可能對SQLite不熟悉並且不瞭解引擎和創建連接的人來說,可能會幫助他們找到那個缺失的部分當我最初開始使用時,我不認爲這是很好的記錄:) – DRapp 2012-01-15 21:33:47

相關問題