C#操作Access数据库(vs2019)

C#操作Access数据库(vs2019)

  • 一、数据库连接与编程实现
    • 1、创建Access数据库
    • 2.数据库与C#建立连接
    • 3.编程实现数据库的读取
    • 2)代码部分
  • 二、数据库的操作
    • 1、在数据库某一表中增加一行数据。
    • 2、修改某一个数据的值
    • 3.查找数据表中某一字段中的数据对应的那一行数据
    • 4.在数据库中创建新表

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

1、创建Access数据库

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

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

1)打开Visual Studio,点击菜单栏中的工具选项卡,然后点击连接到数据库条目,跳转到添加连接。
C#操作Access数据库(vs2019)_第1张图片

2)进行数据库中选择并测试链接是否成功。
C#操作Access数据库(vs2019)_第2张图片

3)点击高级,复制该行代码,后面用,依次点击确定退出。
C#操作Access数据库(vs2019)_第3张图片

4)然后就可在服务器资源管理处看到导入的数据库。
C#操作Access数据库(vs2019)_第4张图片

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

1)创建一个窗体应用项目,加入一个textbox、三个botton按键,以及和一个dataGridView窗口(具体位置在数据分类型下)。
C#操作Access数据库(vs2019)_第5张图片

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,1024程序员节)