c# 连接数据库2 OleDbDataAdapter DataSet

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

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

[csharp]  view plain  copy
  1. string Insert = "INSERT INTO student(studentName,age,tall,gender) values('" + "学生4" + "','" + 21 + "','" + 175 + "','" + "男" + "')";  
  2.             //insert into 表名(字段1,字段2...)values('字段一内容','字段二内容'),上一行+用于字符串的连接,如果想用textBox传值,可用  
  3.             //string s = "'" + textBox1.Text + "'", x = "'" + textBox2.Text + "'";  
  4.             OleDbCommand myCommand = new OleDbCommand(Insert, dbconn);//执行命令  
  5.             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
  1. string s = "'" + textBox1.Text + "'";//接受textBox1的字符串  
  2.             string Delete = "DELETE FROM student WHERE studentName = "+ s;  
  3.             //delete from 表名 where 字段名='字段值';以上代码执行后会将所有studentName为textbox中内容的行删除  
  4.             OleDbCommand myCommand = new OleDbCommand(Delete, dbconn);//执行命令  
  5.             myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功  

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

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

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

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

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

[csharp]  view plain  copy
  1. dbconn.Open();//打开连接操作  

之后;

查询后:

[csharp]  view plain  copy
  1. MessageBox.Show(ds.Tables[0].Rows[0]["studentNO"].ToString());  
  2. //这行代码可以展示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();

        }


猜你喜欢

转载自blog.csdn.net/wzk456/article/details/80609363