1. 程式人生 > >c#連線Access資料庫及增刪改查作

c#連線Access資料庫及增刪改查作

c#窗體程式對Access資料庫的增刪改查,其他資料庫可類似使用

準備工作:

窗體:

access:版本2003(字尾.mdb,新版access可另存為2003相容版)

using:

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;

開啟資料庫:

string Con = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\Users\87627\Desktop\Database1.mdb";//第二個引數為檔案的路徑  
            OleDbConnection dbconn = new OleDbConnection(Con);
            dbconn.Open();//建立連線
            OleDbDataAdapter inst = new OleDbDataAdapter("SELECT *FROM student", dbconn);//選擇全部內容
            DataSet ds = new DataSet();//臨時儲存
            inst.Fill(ds);//用inst填充ds
            dataGridView1.DataSource = ds.Tables[0];//展示ds第一張表到dataGridView1控制元件
            dbconn.Close();//關閉連線

增加操作:利用insert方法,在dbconn.Open();後新增以下程式碼,然後將所有程式碼複製到對應按鈕的click事件下

string Insert = "INSERT INTO student(studentName,age,tall,gender) values('" + "學生4" + "','" + 21 + "','" + 175 + "','" + "男" + "')";
            //insert into 表名(欄位1,欄位2...)values('欄位一內容','欄位二內容'),上一行+用於字串的連線,如果想用textBox傳值,可用
            //string s = "'" + textBox1.Text + "'", x = "'" + textBox2.Text + "'";
            OleDbCommand myCommand = new OleDbCommand(Insert, dbconn);//執行命令
            myCommand.ExecuteNonQuery();//更新資料庫,返回受影響行數;可通過判斷其是否>0來判斷操作是否成功

刪除操作:利用delete方法,在dbconn.Open();後新增以下程式碼,然後將所有程式碼複製到對應按鈕的click事件下

string s = "'" + textBox1.Text + "'";//接受textBox1的字串
            string Delete = "DELETE FROM student WHERE studentName = "+ s;
            //delete from 表名 where 欄位名='欄位值';以上程式碼執行後會將所有studentName為textbox中內容的行刪除
            OleDbCommand myCommand = new OleDbCommand(Delete, dbconn);//執行命令
            myCommand.ExecuteNonQuery();//更新資料庫,返回受影響行數;可通過判斷其是否>0來判斷操作是否成功

修改操作:利用update方法,在dbconn.Open();後新增以下程式碼,然後將所有程式碼複製到對應按鈕的click事件下

string s = "'" + textBox1.Text + "'", x = "'" + textBox2.Text + "'"; 接受textBox的字串
            string Update = "UPDATE student SET studentName=" + x + "WHERE studentName = " + s;
            //update 表名 set 欄位名='欄位值' where 欄位值='欄位值';上一行程式碼執行後將所有studentName中的s替換為x
            OleDbCommand myCommand = new OleDbCommand(Update, dbconn);//執行命令
            myCommand.ExecuteNonQuery();//更新資料庫,返回受影響行數;可通過判斷其是否>0來判斷操作是否成功

查詢操作:利用select方法,在dbconn.Open();後新增以下程式碼,修改OleDbDataAdapter inst為第三行內容,然後將所有程式碼複製到對應按鈕的click事件下

 string s = "'" + textBox1.Text + "'";//接受textBox1的字串
            string Select = "SELECT *FROM student WHERE studentName = " + s;
            //select *from 表名 where 欄位名='欄位值';*表示全表,從全表中
            OleDbDataAdapter inst = new OleDbDataAdapter(Select, dbconn);//只匹配滿足條件的行

注意增刪改查的程式碼均插入到開啟資料庫程式碼:

dbconn.Open();//開啟連線操作

之後;

查詢後:

MessageBox.Show(ds.Tables[0].Rows[0]["studentNO"].ToString());
//這行程式碼可以展示ds中第一張表(Tables[0])第一行(Rows[0])["欄位名"]的資訊;在查詢後可以用這種方式輸出提示相關資訊