日期:2014-05-17  浏览次数:20849 次

问一下winform连接mdb数据库,执行update语句的问题
其中的代码如下:
private string m_ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\\tyjs.mdb";
        private DataSet ds;
        private OleDbDataAdapter dataAdapter;


   private void button1_Click(object sender, EventArgs e)
        {
            double aa1=Convert.ToDouble(this.textBox1.Text.Trim());
            double aa2=Convert.ToDouble(this.textBox2.Text.Trim());
            double aa3=Convert.ToDouble(this.textBox3.Text.Trim());
            string hm = this.label1.Text.Trim();
            
            OleDbConnection sqlCon1 = new OleDbConnection(m_ConStr);
            string sql1 =string.Format("update tyjs set pb={0} where ftyjsh='{1}'",aa1,hm);
 
           MessageBox.Show(sql1);
            dataAdapter = new OleDbDataAdapter(sql1, sqlCon1);
            sqlCon1.Close();
}


MessageBox.Show(sql1);
这行显示也正常为 update tyjs set pb=8.3 where ftyjsh='3413001'

为什么就不能更新数据库呢?
顺便再问一下,更新的数据库,再刷新一下dataGridView1,需要怎么办?

------解决方案--------------------
本帖最后由 bdmh 于 2013-01-28 14:39:09 编辑
你都没执行sql啊,你可以使用UpdateCommand,或者ExecuteNonQuery ,刷新grid要重新绑定数据源
------解决方案--------------------
 OleDbConnection conn = new OleDbConnection(m_ConStr);
            string sql1 = string.Format("update tyjs set pb={0} where ftyjsh='{1}'", aa1, hm);
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(sql1, conn);
            cmd.ExecuteNonQuery();
            conn.Close();

------解决方案--------------------
你的sql没有执行!
------解决方案--------------------
你只把sql语句写好了,没执行,runsql什么的都没有
------解决方案--------------------
OleDbDataAdapter不是用來執行sql語句的,請使用OleDbCommand
------解决方案--------------------
  sql 没执行
------解决方案--------------------
楼主还是要多看看ADO.NET五大类的用法
------解决方案--------------------
sql语句木有执行哦~