C#操作Access数据库(vs2019)
生活随笔
收集整理的這篇文章主要介紹了
C#操作Access数据库(vs2019)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
C#操作Access數(shù)據(jù)庫(vs2019)
- 一、數(shù)據(jù)庫連接與編程實現(xiàn)
- 1、創(chuàng)建Access數(shù)據(jù)庫
- 2.數(shù)據(jù)庫與C#建立連接
- 3.編程實現(xiàn)數(shù)據(jù)庫的讀取
- 2)代碼部分
- 二、數(shù)據(jù)庫的操作
- 1、在數(shù)據(jù)庫某一表中增加一行數(shù)據(jù)。
- 2、修改某一個數(shù)據(jù)的值
- 3.查找數(shù)據(jù)表中某一字段中的數(shù)據(jù)對應的那一行數(shù)據(jù)
- 4.在數(shù)據(jù)庫中創(chuàng)建新表
一、數(shù)據(jù)庫連接與編程實現(xiàn)
1、創(chuàng)建Access數(shù)據(jù)庫
1)打開Office Access新建一個空白數(shù)據(jù)庫DATA.accdb,并改好存放位置。
2)根據(jù)自己需要建立一個新表,命名為表1;并在表內(nèi)添加自己需要的列表數(shù)據(jù)。
3)保存數(shù)據(jù)庫,也可另存為.mdb格式。
2.數(shù)據(jù)庫與C#建立連接
1)打開Visual Studio,點擊菜單欄中的工具選項卡,然后點擊連接到數(shù)據(jù)庫條目,跳轉(zhuǎn)到添加連接。
2)進行數(shù)據(jù)庫中選擇并測試鏈接是否成功。
3)點擊高級,復制該行代碼,后面用,依次點擊確定退出。
4)然后就可在服務器資源管理處看到導入的數(shù)據(jù)庫。
3.編程實現(xiàn)數(shù)據(jù)庫的讀取
1)創(chuàng)建一個窗體應用項目,加入一個textbox、三個botton按鍵,以及和一個dataGridView窗口(具體位置在數(shù)據(jù)分類型下)。
2)代碼部分
引用:增加以下引用
using System.Data; using System.Data.OleDb;具體程序,Form類
public partial class FormDatabase : Form{// 連接字符串private string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\10234\Desktop\DATA.accdb";//此處為前面復制出來的代碼//聲明private OleDbConnection conn = null;private OleDbDataAdapter adapter = null;private DataTable dt = null;public FormDatabase(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){// 連接數(shù)據(jù)庫,需要傳遞連接字符串conn = new OleDbConnection(connStr);// 打開數(shù)據(jù)庫連接conn.Open();// "Select * from 表1"為SQL語句,意思是從數(shù)據(jù)庫中選擇叫做“表1”的表,“conn”為連接adapter = new OleDbDataAdapter("Select * from 表1", conn);// CommandBuilder對應的是數(shù)據(jù)適配器,需要傳遞參數(shù)var cmd = new OleDbCommandBuilder(adapter);// 在內(nèi)存中創(chuàng)建一個DataTable,用來存放、修改數(shù)據(jù)庫表dt = new DataTable();// 通過適配器把表的數(shù)據(jù)填充到內(nèi)存dtadapter.Fill(dt);// 把數(shù)據(jù)顯示到界面dataGridView1.DataSource = dt.DefaultView;}private void button2_Click(object sender, EventArgs e){try{// 按下按鈕后,把內(nèi)存中修改的部分傳遞給適配器,再通過適配器傳遞給數(shù)據(jù)庫adapter.Update(dt);// 清除內(nèi)存中存放的表數(shù)據(jù)dt.Clear();// 重新讀取已經(jīng)改變過的表數(shù)據(jù)adapter.Fill(dt);}catch (Exception ex){MessageBox.Show(ex.Message);}finally{}}private void button3_Click(object sender, EventArgs e){string sql = textBox1.Text;OleDbCommand comm = new OleDbCommand(sql, conn);comm.ExecuteNonQuery();}private void FormDatabase_Load(object sender, EventArgs e){textBox1.Text = "insert into 表1(工作時間,工作機位,攝像頭編號,IP地址)values(2009/12/31,2,3,4)";} }二、數(shù)據(jù)庫的操作
輸入的String指令為SQL語言,具體語法格式參考SQL語言規(guī)范即可
1、在數(shù)據(jù)庫某一表中增加一行數(shù)據(jù)。
string sql = "insert into 表名(字段1,字段2,…)values(數(shù)據(jù)1,數(shù)據(jù)2,…)"; //字段指的是數(shù)據(jù)表的表頭名,數(shù)據(jù)1為對應字段加入的數(shù)據(jù),默認為double類型。 OleDbCommand comm = new OleDbCommand(sql, conn); //cnn為前面讀取的數(shù)據(jù)表名 comm.ExecuteNonQuery();2、修改某一個數(shù)據(jù)的值
string sql = " update 表名 set 字段a = 222 where 字段b = 19"; //字段a指的是要修改的數(shù)據(jù)表頭名,數(shù)據(jù)b為要修改數(shù)據(jù)對應的改行其他數(shù)據(jù)表頭名,通過字段b對應的數(shù)據(jù)確定字段a所在的位置。 OleDbCommand comm = new OleDbCommand(sql, conn); //cnn為前面讀取的數(shù)據(jù)表名 comm.ExecuteNonQuery();3.查找數(shù)據(jù)表中某一字段中的數(shù)據(jù)對應的那一行數(shù)據(jù)
OleDbDataAdapter oleDapAdapter; //檢索與填充數(shù)據(jù),一般填充SQL語句 DataSet ds = new DataSet(); //填充ds,保存數(shù)據(jù) string sql = "select * from 表1 where ID = 18";// select 列名稱 from 表名 where 限定的數(shù)據(jù)表條件//列名稱可用*代替全部;oleDapAdapter = new OleDbDataAdapter(sql, conn);oleDapAdapter.Fill(ds);//將查到的數(shù)據(jù)放到數(shù)據(jù)表ds中;for (int i = 0; i < ds.Tables[0].Rows.Count; i++){for (int j = 0; j < ds.Tables[0].Columns.Count; j++){MessageBox.Show(ds.Tables[0].Rows[i][j].ToString());//需要轉(zhuǎn)成String類型 }}ds.Reset();4.在數(shù)據(jù)庫中創(chuàng)建新表
string dbstr = "CREATE TABLE 表2(ID INT,文件夾位置 char(255),文件名字 char(255))"; // CREATE TABLE 表名(ID INT,文件夾位置 char(255),文件名字 char(255))OleDbCommand oleDbCom = new OleDbCommand(dbstr, conn);oleDbCom.ExecuteNonQuery();總結(jié)
以上是生活随笔為你收集整理的C#操作Access数据库(vs2019)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在线代码运行测试实用工具
- 下一篇: C# WINFORM进销存系统开发(内涵