c# 连接数据库2 OleDbDataAdapter DataSet[通俗易懂]
发布时间:2025-12-09 13:41:13
浏览次数:3
- stringCon=@“Provider=Microsoft.Jet.OleDb.4.0;DataSource=C:\Users\87627\Desktop\Database1.mdb”;//第二个参数为文件的路径
- OleDbConnectiondbconn=newOleDbConnection(Con);
- dbconn.Open();//建立连接
- OleDbDataAdapterinst=newOleDbDataAdapter(“SELECT*FROMstudent”,dbconn);//选择全部内容
- DataSetds=newDataSet();//临时存储
- inst.Fill(ds);//用inst填充ds
- dataGridView1.DataSource=ds.Tables[0];//展示ds第一张表到dataGridView1控件
- dbconn.Close();//关闭连接
增加操作:利用insert方法,在dbconn.Open();后添加以下代码,然后将所有代码复制到对应按钮的click事件下
[csharp]
view plain
copy
- stringInsert=“INSERTINTOstudent(studentName,age,tall,gender)values(‘”+“学生4”+“‘,'”+21+“‘,'”+175+“‘,'”+“男”+“‘)”;
- //insertinto表名(字段1,字段2…)values(‘字段一内容’,’字段二内容’),上一行+用于字符串的连接,如果想用textBox传值,可用
- //strings=“‘”+textBox1.Text+“‘”,x=“‘”+textBox2.Text+“‘”;
- OleDbCommandmyCommand=newOleDbCommand(Insert,dbconn);//执行命令
- myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功
private void button2_Click(object sender, EventArgs e)
{
string con = @”Provider = Microsoft.Jet.OleDb.4.0;Data Source = fruit.mdb”;
OleDbConnection dbconn = new OleDbConnection(con);
dbconn.Open();
string Insert = “INSERT INTO fruit([Name], [Number], [Source], [Stack]) values (‘” + “梨” + “‘, ‘” + “88” + “‘, ‘” + “大连” + “‘, ‘” + “仓库9” + “‘)”;
OleDbCommand myCommand = new OleDbCommand(Insert, dbconn);
myCommand.ExecuteNonQuery();
OleDbDataAdapter inst = new OleDbDataAdapter(“select *from fruit”, dbconn);
DataSet ds = new DataSet();
inst.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dbconn.Close();
}
程序中会出现INSERT INTO 语法错误,可以把字段名用[]括起来即可。
删除操作:利用delete方法,在dbconn.Open();后添加以下代码,然后将所有代码复制到对应按钮的click事件下
[csharp]
view plain
copy
- strings=“‘”+textBox1.Text+“‘”;//接受textBox1的字符串
- stringDelete=“DELETEFROMstudentWHEREstudentName=“+s;
- //deletefrom表名where字段名=’字段值’;以上代码执行后会将所有studentName为textbox中内容的行删除
- OleDbCommandmyCommand=newOleDbCommand(Delete,dbconn);//执行命令
- myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功
修改操作:利用update方法,在dbconn.Open();后添加以下代码,然后将所有代码复制到对应按钮的click事件下
[csharp]
view plain
copy
- strings=“‘”+textBox1.Text+“‘”,x=“‘”+textBox2.Text+“‘”;接受textBox的字符串
- stringUpdate=“UPDATEstudentSETstudentName=”+x+“WHEREstudentName=“+s;
- //update表名set字段名=’字段值’where字段值=’字段值’;上一行代码执行后将所有studentName中的s替换为x
- OleDbCommandmyCommand=newOleDbCommand(Update,dbconn);//执行命令
- myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功
查询操作:利用select方法,在dbconn.Open();后添加以下代码,修改OleDbDataAdapter inst为第三行内容,然后将所有代码复制到对应按钮的click事件下
[csharp]
view plain
copy
- strings=“‘”+textBox1.Text+“‘”;//接受textBox1的字符串
- stringSelect=“SELECT*FROMstudentWHEREstudentName=“+s;
- //select*from表名where字段名=’字段值’;*表示全表,从全表中
- OleDbDataAdapterinst=newOleDbDataAdapter(Select,dbconn);//只匹配满足条件的行
注意增删改查的代码均插入到打开数据库代码:
[csharp]
view plain
copy
- dbconn.Open();//打开连接操作
之后;
查询后:
[csharp]
view plain
copy
- MessageBox.Show(ds.Tables[0].Rows[0][“studentNO”].ToString());
- //这行代码可以展示ds中第一张表(Tables[0])第一行(Rows[0])[“字段名”]的信息;在查找后可以用这种方式输出提示相关信息
private void button2_Click(object sender, EventArgs e)
{
string con = @”Provider = Microsoft.Jet.OleDb.4.0;Data Source = fruit.mdb”;
OleDbConnection dbconn = new OleDbConnection(con);
OleDbDataAdapter inst = new OleDbDataAdapter(“select *from fruit”, dbconn);
DataSet ds = new DataSet();
inst.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dbconn.Close();
}