C#操作Access數(shù)據(jù)庫的實現(xiàn)過程(vs2019)
C#操作Access數(shù)據(jù)庫(vs2019)
一、數(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)點擊高級,復(fù)制該行代碼,后面用,依次點擊確定退出。
4)然后就可在服務(wù)器資源管理處看到導(dǎo)入的數(shù)據(jù)庫。
3.編程實現(xiàn)數(shù)據(jù)庫的讀取
1)創(chuàng)建一個窗體應(yīng)用項目,加入一個textbox、三個botton按鍵,以及和一個dataGridView窗口(具體位置在數(shù)據(jù)分類型下)。
2)代碼部分
引用:增加以下引用
using System.Data; using System.Data.OleDb;
具體程序,F(xiàn)orm類
public partial class FormDatabase : Form { // 連接字符串 private string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\10234\Desktop\DATA.accdb";//此處為前面復(fù)制出來的代碼 //聲明 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對應(yīng)的是數(shù)據(jù)適配器,需要傳遞參數(shù) var cmd = new OleDbCommandBuilder(adapter); // 在內(nèi)存中創(chuàng)建一個DataTable,用來存放、修改數(shù)據(jù)庫表 dt = new DataTable(); // 通過適配器把表的數(shù)據(jù)填充到內(nèi)存dt adapter.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為對應(yīng)字段加入的數(shù)據(jù),默認(rèn)為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ù)對應(yīng)的改行其他數(shù)據(jù)表頭名,通過字段b對應(yīng)的數(shù)據(jù)確定字段a所在的位置。 OleDbCommand comm = new OleDbCommand(sql, conn); //cnn為前面讀取的數(shù)據(jù)表名 comm.ExecuteNonQuery();
3.查找數(shù)據(jù)表中某一字段中的數(shù)據(jù)對應(yīng)的那一行數(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();
到此這篇關(guān)于C#操作Access數(shù)據(jù)庫(vs2019)的文章就介紹到這了,更多相關(guān)C# Access數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫
- C# 操作 access 數(shù)據(jù)庫的實例代碼
- c# 使用Entity Framework操作Access數(shù)據(jù)庫的示例
- C#連接Oracle數(shù)據(jù)庫使用Oracle.ManagedDataAccess.dll
- C#實現(xiàn)的ACCESS數(shù)據(jù)庫操作類完整實例
- C#編程實現(xiàn)連接ACCESS數(shù)據(jù)庫實例詳解
- C#動態(tài)創(chuàng)建Access數(shù)據(jù)庫及表的方法
- c#連接access數(shù)據(jù)庫操作類分享
- C# Access數(shù)據(jù)庫增刪查改的簡單方法
相關(guān)文章
C# Winform程序?qū)崿F(xiàn)防止多開的方法總結(jié)【親測】
這篇文章主要介紹了C# Winform程序?qū)崿F(xiàn)防止多開的方法,結(jié)合實例形式總結(jié)分析了C# Winform防止多開相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-03-03C#實現(xiàn)IDbConnection/IDbCommand等相關(guān)通用數(shù)據(jù)接口
ADO.NET?中的數(shù)據(jù)提供者對象提供了IDbConnection、IDbCommand、IDbDataParameter等通用數(shù)據(jù)接口,本文將利用這些對象實現(xiàn)一個通用方法以訪問和操作數(shù)據(jù)庫內(nèi)容,需要的朋友可以參考下2024-04-04C#集成DeepSeek模型實現(xiàn)AI私有化的流程步驟(本地部署與API調(diào)用教程)
本文主要介紹了C#集成DeepSeek模型實現(xiàn)AI私有化的方法,包括搭建基礎(chǔ)環(huán)境,如安裝Ollama和下載DeepSeek?R1模型,客戶端?ChatBox?AI?接入?DeepSeek?的步驟,以及?C#?調(diào)用?DeepSeek?API?的示例代碼,并總結(jié)了其在實際項目中的應(yīng)用價值,需要的朋友可以參考下2025-03-03