晚上更新数据库的时候发现可以更行一行,数据库只是太烂了,在此发帖求救各位大侠:
我有个表pro 中有name,date,intro字段,想问下,怎么来使用update更新某一行代码,是update pro set name=xx,date=xx,intro=xx where name=yy 吗?
那具体的读取数据库和更新语句怎么写啊,实在不会了 谢了!

解决方案 »

  1.   

    using(OleDbConnection conn = new OleDbConnection(""))
      {
            string strSql = "update pro set [name]=@name where name=@n ";         
            OleDbCommand cmd = new OleDbCommand(strSql, objConn); 
            cmd.Parameters.AddWithValue("@name", ""); 
            cmd.Parameters.AddWithValue("@n", ""); 
            conn.Open(); 
            cmd.ExecuteNonQuery(); 
            conn.Close(); 
      }
      

  2.   

      "update pro set [name]=@name where name=@n  为什么要加@啊?
     cmd.Parameters.AddWithValue("@name", ""); 这句是什么意思啊?
     数据库忘完了,呵呵
      

  3.   

    你可以去网上找下关于Access数据库的操作是如何进行的。我想有很多的资料。
      

  4.   

     OleDbConnection thisConnection = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data\\web1.mdb"));        string strUpdate = "UPDATE Production SET [p_name]@=Mod_name,p_date=@date,p_path=@path,p_intro=@intro WHERE [p_name]=@name";
            OleDbCommand cmd = new OleDbCommand(strUpdate, thisConnection);
            thisConnection.Open();
            cmd.ExecuteNonQuery(); 
            thisConnection.Close();
    这样写的代码 ,但是老是报update出错, 而且好像 就出在 cmd.ExecuteNonQuery(); 
    这上面,看下吧,帮个忙 呵呵
      

  5.   

    没错,就是
    update pro set name=xx,date=xx,intro=xx where name=yy如果xx yy是常量,且对应数据库中的类型不是数字,需要加上引号 如 ='xx'
      

  6.   

    但是你必须在后面限定一个条件,如 where id=xx
    否则会全表都改变.
      

  7.   

    OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\\123.mdb");
            conn.Open();//更新一行,你就先取出name=yy这一行数据:
            OleDbDataAdapter da = new OleDbDataAdapter("select * from bm where name="+ "'" + yy +"'", conn);//name=yy这一行数据
            OleDbCommandBuilder cmd = new OleDbCommandBuilder(da);
            DataSet ds = new DataSet();
            da.Fill(ds, "pro ");
            
            ds.Tables["pro "].Rows[0]["name"] = TextBox1.Text;// 你的XX
            ds.Tables["pro "].Rows[0]["date"] = TextBox2.Text;// 你的XX
            ds.Tables["pro "].Rows[0]["intro"] = TextBox3.Text;// 你的XX
             da.Update(ds, "bm"); //ACCESS中要用此方法才能更新到数据库
            
      

  8.   

    而且ACCESS表中一定要有一个字段是关键字段(主键索引),一般把自动编号的id定为主键