欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#操作Access數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程(vs2019)

 更新時(shí)間:2024年02月01日 10:39:29   作者:椒顏皮皮蝦?  
這篇文章主要介紹了C#操作Access數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程(vs2019),打開(kāi)Office Access新建一個(gè)空白數(shù)據(jù)庫(kù)DATA.accdb,并改好存放位置,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

C#操作Access數(shù)據(jù)庫(kù)(vs2019)

一、數(shù)據(jù)庫(kù)連接與編程實(shí)現(xiàn)

1、創(chuàng)建Access數(shù)據(jù)庫(kù)

1)打開(kāi)Office Access新建一個(gè)空白數(shù)據(jù)庫(kù)DATA.accdb,并改好存放位置。
2)根據(jù)自己需要建立一個(gè)新表,命名為表1;并在表內(nèi)添加自己需要的列表數(shù)據(jù)。
3)保存數(shù)據(jù)庫(kù),也可另存為.mdb格式。

2.數(shù)據(jù)庫(kù)與C#建立連接

1)打開(kāi)Visual Studio,點(diǎn)擊菜單欄中的工具選項(xiàng)卡,然后點(diǎn)擊連接到數(shù)據(jù)庫(kù)條目,跳轉(zhuǎn)到添加連接。

2)進(jìn)行數(shù)據(jù)庫(kù)中選擇并測(cè)試鏈接是否成功。

3)點(diǎn)擊高級(jí),復(fù)制該行代碼,后面用,依次點(diǎn)擊確定退出。

4)然后就可在服務(wù)器資源管理處看到導(dǎo)入的數(shù)據(jù)庫(kù)。

3.編程實(shí)現(xiàn)數(shù)據(jù)庫(kù)的讀取

1)創(chuàng)建一個(gè)窗體應(yīng)用項(xiàng)目,加入一個(gè)textbox、三個(gè)botton按鍵,以及和一個(gè)dataGridView窗口(具體位置在數(shù)據(jù)分類(lèi)型下)。

2)代碼部分

引用:增加以下引用

using System.Data;
using System.Data.OleDb;

具體程序,F(xiàn)orm類(lèi)

public partial class FormDatabase : Form
   {
        // 連接字符串
        private string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\10234\Desktop\DATA.accdb";//此處為前面復(fù)制出來(lái)的代碼
        //聲明
        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ù)庫(kù),需要傳遞連接字符串
            conn = new OleDbConnection(connStr);
            // 打開(kāi)數(shù)據(jù)庫(kù)連接
            conn.Open();
            // "Select * from 表1"為SQL語(yǔ)句,意思是從數(shù)據(jù)庫(kù)中選擇叫做“表1”的表,“conn”為連接
            adapter = new OleDbDataAdapter("Select * from 表1", conn);
            // CommandBuilder對(duì)應(yīng)的是數(shù)據(jù)適配器,需要傳遞參數(shù)
            var cmd = new OleDbCommandBuilder(adapter);
            // 在內(nèi)存中創(chuàng)建一個(gè)DataTable,用來(lái)存放、修改數(shù)據(jù)庫(kù)表
            dt = new DataTable();
            // 通過(guò)適配器把表的數(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)存中修改的部分傳遞給適配器,再通過(guò)適配器傳遞給數(shù)據(jù)庫(kù)
                adapter.Update(dt);
                // 清除內(nèi)存中存放的表數(shù)據(jù)
                dt.Clear();
                // 重新讀取已經(jīng)改變過(guò)的表數(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(工作時(shí)間,工作機(jī)位,攝像頭編號(hào),IP地址)values(2009/12/31,2,3,4)";
        }
}

二、數(shù)據(jù)庫(kù)的操作

輸入的String指令為SQL語(yǔ)言,具體語(yǔ)法格式參考SQL語(yǔ)言規(guī)范即可

1、在數(shù)據(jù)庫(kù)某一表中增加一行數(shù)據(jù)。

string sql = "insert into 表名(字段1,字段2,…)values(數(shù)據(jù)1,數(shù)據(jù)2,…)"; 
//字段指的是數(shù)據(jù)表的表頭名,數(shù)據(jù)1為對(duì)應(yīng)字段加入的數(shù)據(jù),默認(rèn)為double類(lèi)型。
OleDbCommand comm = new OleDbCommand(sql, conn);
//cnn為前面讀取的數(shù)據(jù)表名
comm.ExecuteNonQuery();

2、修改某一個(gè)數(shù)據(jù)的值

string sql = " update 表名 set 字段a = 222 where 字段b = 19"; 
//字段a指的是要修改的數(shù)據(jù)表頭名,數(shù)據(jù)b為要修改數(shù)據(jù)對(duì)應(yīng)的改行其他數(shù)據(jù)表頭名,通過(guò)字段b對(duì)應(yīng)的數(shù)據(jù)確定字段a所在的位置。
OleDbCommand comm = new OleDbCommand(sql, conn);
//cnn為前面讀取的數(shù)據(jù)表名
comm.ExecuteNonQuery();

3.查找數(shù)據(jù)表中某一字段中的數(shù)據(jù)對(duì)應(yīng)的那一行數(shù)據(jù)

            OleDbDataAdapter oleDapAdapter; //檢索與填充數(shù)據(jù),一般填充SQL語(yǔ)句  
            DataSet ds = new DataSet();     //填充ds,保存數(shù)據(jù) 
			string sql = "select * from 表1 where ID = 18";
			// select 列名稱(chēng) from 表名 where 限定的數(shù)據(jù)表?xiàng)l件
			//列名稱(chēng)可用*代替全部;
            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類(lèi)型  
                }
            }
            ds.Reset();

4.在數(shù)據(jù)庫(kù)中創(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ù)庫(kù)(vs2019)的文章就介紹到這了,更多相關(guān)C# Access數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#?LiteDB基本使用示例代碼

    C#?LiteDB基本使用示例代碼

    LiteDB是一種文檔型單文件數(shù)據(jù)庫(kù),基于Key-Value方式存取數(shù)據(jù),LiteDB?的靈感來(lái)自?MongoDB?數(shù)據(jù)庫(kù),所以它的?API?和?MongoDB?的?.NET?API?非常相似,這篇文章主要介紹了C#?LiteDB基本使用,需要的朋友可以參考下
    2024-03-03
  • C#多線程系列之多線程鎖lock和Monitor

    C#多線程系列之多線程鎖lock和Monitor

    這篇文章介紹了C#多線程鎖lock和Monitor的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • C# BackgroundWorker用法詳解

    C# BackgroundWorker用法詳解

    本篇文章主要介紹了C# BackgroundWorker使用詳解 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • C# Winform程序?qū)崿F(xiàn)防止多開(kāi)的方法總結(jié)【親測(cè)】

    C# Winform程序?qū)崿F(xiàn)防止多開(kāi)的方法總結(jié)【親測(cè)】

    這篇文章主要介紹了C# Winform程序?qū)崿F(xiàn)防止多開(kāi)的方法,結(jié)合實(shí)例形式總結(jié)分析了C# Winform防止多開(kāi)相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • C# 如何實(shí)現(xiàn)一個(gè)帶通知的List<T>

    C# 如何實(shí)現(xiàn)一個(gè)帶通知的List<T>

    這篇文章主要介紹了C# 如何實(shí)現(xiàn)一個(gè)帶通知的List<T>,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#中遍歷Hashtable的4種方法

    C#中遍歷Hashtable的4種方法

    這篇文章主要介紹了C#中遍歷Hashtable的4種方法,本文直接給出實(shí)例代碼,需要的朋友可以參考下
    2015-06-06
  • C#串口通信工具類(lèi)的封裝

    C#串口通信工具類(lèi)的封裝

    這篇文章主要為大家詳細(xì)介紹了C#串口通信工具類(lèi)封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#獲得文件屬性信息的實(shí)現(xiàn)方法

    C#獲得文件屬性信息的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#獲得文件屬性信息的實(shí)現(xiàn)方法,對(duì)于C#初學(xué)者了解與學(xué)習(xí)應(yīng)用程序設(shè)計(jì)有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-07-07
  • C#實(shí)現(xiàn)IDbConnection/IDbCommand等相關(guān)通用數(shù)據(jù)接口

    C#實(shí)現(xiàn)IDbConnection/IDbCommand等相關(guān)通用數(shù)據(jù)接口

    ADO.NET?中的數(shù)據(jù)提供者對(duì)象提供了IDbConnection、IDbCommand、IDbDataParameter等通用數(shù)據(jù)接口,本文將利用這些對(duì)象實(shí)現(xiàn)一個(gè)通用方法以訪問(wèn)和操作數(shù)據(jù)庫(kù)內(nèi)容,需要的朋友可以參考下
    2024-04-04
  • C#集成DeepSeek模型實(shí)現(xiàn)AI私有化的流程步驟(本地部署與API調(diào)用教程)

    C#集成DeepSeek模型實(shí)現(xiàn)AI私有化的流程步驟(本地部署與API調(diào)用教程)

    本文主要介紹了C#集成DeepSeek模型實(shí)現(xiàn)AI私有化的方法,包括搭建基礎(chǔ)環(huán)境,如安裝Ollama和下載DeepSeek?R1模型,客戶(hù)端?ChatBox?AI?接入?DeepSeek?的步驟,以及?C#?調(diào)用?DeepSeek?API?的示例代碼,并總結(jié)了其在實(shí)際項(xiàng)目中的應(yīng)用價(jià)值,需要的朋友可以參考下
    2025-03-03

最新評(píng)論