c#连接Access数据库及增删改查操作

c#窗体程序对Access数据库的增删改查,其他数据库可类似使用

 

准备工作:

 

窗体:

 

 

access:版本2003(后缀.mdb,新版access可另存为2003兼容版)

 

 

using:

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;

打开数据库:

string Con = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\Users\87627\Desktop\Database1.mdb";//第二个参数为文件的路径  
            OleDbConnection dbconn = new OleDbConnection(Con);
            dbconn.Open();//建立连接
            OleDbDataAdapter inst = new OleDbDataAdapter("SELECT *FROM student", dbconn);//选择全部内容
            DataSet ds = new DataSet();//临时存储
            inst.Fill(ds);//用inst填充ds
            dataGridView1.DataSource = ds.Tables[0];//展示ds第一张表到dataGridView1控件
            dbconn.Close();//关闭连接

增加操作:利用insert方法,在dbconn.Open();后添加以下代码,然后将所有代码复制到对应按钮的click事件下

string Insert = "INSERT INTO student(studentName,age,tall,gender) values('" + "学生4" + "','" + 21 + "','" + 175 + "','" + "男" + "')";
            //insert into 表名(字段1,字段2...)values('字段一内容','字段二内容'),上一行+用于字符串的连接,如果想用textBox传值,可用
            //string s = "'" + textBox1.Text + "'", x = "'" + textBox2.Text + "'";
            OleDbCommand myCommand = new OleDbCommand(Insert, dbconn);//执行命令
            myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功

删除操作:利用delete方法,在dbconn.Open();后添加以下代码,然后将所有代码复制到对应按钮的click事件下

string s = "'" + textBox1.Text + "'";//接受textBox1的字符串
            string Delete = "DELETE FROM student WHERE studentName = "+ s;
            //delete from 表名 where 字段名='字段值';以上代码执行后会将所有studentName为textbox中内容的行删除
            OleDbCommand myCommand = new OleDbCommand(Delete, dbconn);//执行命令
            myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功

修改操作:利用update方法,在dbconn.Open();后添加以下代码,然后将所有代码复制到对应按钮的click事件下

string s = "'" + textBox1.Text + "'", x = "'" + textBox2.Text + "'"; 接受textBox的字符串
            string Update = "UPDATE student SET studentName=" + x + "WHERE studentName = " + s;
            //update 表名 set 字段名='字段值' where 字段值='字段值';上一行代码执行后将所有studentName中的s替换为x
            OleDbCommand myCommand = new OleDbCommand(Update, dbconn);//执行命令
            myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功

 

查询操作:利用select方法,在dbconn.Open();后添加以下代码,修改OleDbDataAdapter inst为第三行内容,然后将所有代码复制到对应按钮的click事件下

 string s = "'" + textBox1.Text + "'";//接受textBox1的字符串
            string Select = "SELECT *FROM student WHERE studentName = " + s;
            //select *from 表名 where 字段名='字段值';*表示全表,从全表中
            OleDbDataAdapter inst = new OleDbDataAdapter(Select, dbconn);//只匹配满足条件的行

注意增删改查的代码均插入到打开数据库代码:

dbconn.Open();//打开连接操作

之后;

查询后:

MessageBox.Show(ds.Tables[0].Rows[0]["studentNO"].ToString());
//这行代码可以展示ds中第一张表(Tables[0])第一行(Rows[0])["字段名"]的信息;在查找后可以用这种方式输出提示相关信息

本文中出现的字符串拼接,本身并不重要,您只需要最后得到正确的SQL语句即可。借助C#的字符串格式化方法可有效简化此步骤,如:{0},{1}按顺序为自己的变量占位,记得字符串需要加引号。

string sql = string.Format("INSERT INTO RuleSetInfo(guid,rsName,rsType,rsAdmin,rsPath,rsDate,rsDesc,rsNote) VALUES({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}')", guid, ruleSetName, fileType, admin, rsPath,dateNow, rsDesc, Note);

SQL语句参照:https://www.w3school.com.cn/sql/sql_select.asp

查询语句可参照:https://blog.csdn.net/qq_36382357/article/details/106369521

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章