標籤:textbox csharp 目錄 ram 提交 資料庫執行個體 current exists 讀取資料
1. 對資料庫增, 刪, 改
//資料庫檔案儲存路徑,(Environment.CurrentDirectory:為當前工作目錄的完全路徑) string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db"; //建立串連資料庫執行個體,指定檔案位置 SQLiteConnection con = new SQLiteConnection(dbPath); //開啟資料庫,若檔案不存在會自動建立 con.Open(); //建表語句 string sql = "CREATE TABLE IF NOT EXISTS student(id integer, name varchar(20), sex varchar(2));"; //建立sql執行指令對象 SQLiteCommand com = new SQLiteCommand(sql, con); //如果不帶參數時, 使用一下語句賦值 //com.CommandText = sql; //com.Connection = con; //執行sql指令建立建資料表,如果表不存在,建立資料表 com.ExecuteNonQuery(); //給表添加資料 //1. 使用sql語句逐行添加 com.CommandText = "INSERT INTO student VALUES(1, ‘小紅‘, ‘男‘)"; com.ExecuteNonQuery(); com.CommandText = "INSERT INTO student VALUES(2, ‘小李‘, ‘女‘)"; com.ExecuteNonQuery(); com.CommandText = "INSERT INTO student VALUES(3, ‘小明‘, ‘男‘)"; com.ExecuteNonQuery(); //2. 使用事務添加 //執行個體化一個事務對象 SQLiteTransaction tran = con.BeginTransaction(); //把事務對象賦值給com的transaction屬性 com.Transaction = tran; //設定帶參數sql語句 com.CommandText = "INSERT INTO student VALUES(@id, @name, @sex)"; for (int i = 0; i < 10; i++) { //添加參數 com.Parameters.AddRange(new[] {//添加參數 new SQLiteParameter("@id", i + 1), new SQLiteParameter("@name", "test" + i), new SQLiteParameter("@sex", i % 3 == 0 ? "男" : "女") }); //執行添加 com.ExecuteNonQuery(); } //提交事務 tran.Commit(); //關閉資料庫 con.Close();
2. 讀取資料
//資料庫路徑 string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db"; //建立資料庫執行個體,指定檔案位置 SQLiteConnection conn = new SQLiteConnection(dbPath); //開啟資料庫,若檔案不存在會自動建立 conn.Open(); //查詢sql語句 string sql = "select * from student"; //執行個體化sql指令對象 SQLiteCommand cmdQ = new SQLiteCommand(sql, conn); //存放讀取數值 SQLiteDataReader reader = cmdQ.ExecuteReader(); //顯示資料的控制項 richTextBox1.Text = ""; //讀取每一行資料 while (reader.Read()) { //讀取並賦值給控制項 richTextBox1.Text += reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetString(2) + "\n"; } //關閉資料庫 conn.Close();
C# 下sqlite簡單使用