c#連線Access資料庫及增刪改查作
阿新 • • 發佈:2019-01-31
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])["欄位名"]的資訊;在查詢後可以用這種方式輸出提示相關資訊