C#操作Access数据库的实现过程(vs2019)

 更新时间:2024年02月01日 10:39:29   作者:椒颜皮皮虾྅  
这篇文章主要介绍了C#操作Access数据库的实现过程(vs2019),打开Office Access新建一个空白数据库DATA.accdb,并改好存放位置,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

C#操作Access数据库(vs2019)

一、数据库连接与编程实现

1、创建Access数据库

1)打开Office Access新建一个空白数据库DATA.accdb,并改好存放位置。
2)根据自己需要建立一个新表,命名为表1;并在表内添加自己需要的列表数据。
3)保存数据库,也可另存为.mdb格式。

2.数据库与C#建立连接

1)打开Visual Studio,点击菜单栏中的工具选项卡,然后点击连接到数据库条目,跳转到添加连接。

2)进行数据库中选择并测试链接是否成功。

3)点击高级,复制该行代码,后面用,依次点击确定退出。

4)然后就可在服务器资源管理处看到导入的数据库。

3.编程实现数据库的读取

1)创建一个窗体应用项目,加入一个textbox、三个botton按键,以及和一个dataGridView窗口(具体位置在数据分类型下)。

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)
        {
            // 连接数据库,需要传递连接字符串
            conn = new OleDbConnection(connStr);
            // 打开数据库连接
            conn.Open();
            // "Select * from 表1"为SQL语句,意思是从数据库中选择叫做“表1”的表,“conn”为连接
            adapter = new OleDbDataAdapter("Select * from 表1", conn);
            // CommandBuilder对应的是数据适配器,需要传递参数
            var cmd = new OleDbCommandBuilder(adapter);
            // 在内存中创建一个DataTable,用来存放、修改数据库表
            dt = new DataTable();
            // 通过适配器把表的数据填充到内存dt
            adapter.Fill(dt);
            // 把数据显示到界面
            dataGridView1.DataSource = dt.DefaultView;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                // 按下按钮后,把内存中修改的部分传递给适配器,再通过适配器传递给数据库
                adapter.Update(dt);
                // 清除内存中存放的表数据
                dt.Clear();
                // 重新读取已经改变过的表数据
                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)";
        }
}

二、数据库的操作

输入的String指令为SQL语言,具体语法格式参考SQL语言规范即可

1、在数据库某一表中增加一行数据。

string sql = "insert into 表名(字段1,字段2,…)values(数据1,数据2,…)"; 
//字段指的是数据表的表头名,数据1为对应字段加入的数据,默认为double类型。
OleDbCommand comm = new OleDbCommand(sql, conn);
//cnn为前面读取的数据表名
comm.ExecuteNonQuery();

2、修改某一个数据的值

string sql = " update 表名 set 字段a = 222 where 字段b = 19"; 
//字段a指的是要修改的数据表头名,数据b为要修改数据对应的改行其他数据表头名,通过字段b对应的数据确定字段a所在的位置。
OleDbCommand comm = new OleDbCommand(sql, conn);
//cnn为前面读取的数据表名
comm.ExecuteNonQuery();

3.查找数据表中某一字段中的数据对应的那一行数据

            OleDbDataAdapter oleDapAdapter; //检索与填充数据,一般填充SQL语句  
            DataSet ds = new DataSet();     //填充ds,保存数据 
			string sql = "select * from 表1 where ID = 18";
			// select 列名称 from 表名 where 限定的数据表条件
			//列名称可用*代替全部;
            oleDapAdapter = new OleDbDataAdapter(sql, conn);
            oleDapAdapter.Fill(ds);//将查到的数据放到数据表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());//需要转成String类型  
                }
            }
            ds.Reset();

4.在数据库中创建新表

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();

到此这篇关于C#操作Access数据库(vs2019)的文章就介绍到这了,更多相关C# Access数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论