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语句参照:https://www.w3school.com.cn/sql/sql_select.asp