图表题,小弟不才,在编写程序的时候,需要对数据库的一些信息进行修改,可是不知道Update应该怎么写?求大神指教
occ.Open();
                string sql3 = "update into NWInfo Chinese=@chn,Esen=@ese,Csent=@cse where English = @eng";
                ocm = new OleDbCommand(sql3, occ);
                ocm.Parameters.AddWithValue("@eng", tbEN.Text.ToString());
                ocm.Parameters.AddWithValue("@chn", tbCN.Text.ToString());
                ocm.Parameters.AddWithValue("@ese", tbES.Text.ToString());
                ocm.Parameters.AddWithValue("@cse", tbCS.Text.ToString());
                //执行插入语句
                int flag = ocm.ExecuteNonQuery();
                if (flag > 0)
{
...
}C#SQL

解决方案 »

  1.   

    sql怎么写就怎么写
    string sql3 = "update NWInfo set Chinese=@chn,Esen=@ese,Csent=@cse where English = @eng";
      

  2.   

    修改后,运行是:至少一个参数没有被指定值。(int flag = ocm.ExecuteNonQuery();)
    这个怎么破。。?
      

  3.   

    不要张冠李戴地把t-sql语法用在所有oledb上。对于不同数据库,在OleDb中语法不同。例如http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbcommand.parameters.aspx
      

  4.   

    update 表名 set 字段名=‘值’ where 编号=值
      

  5.   

    string sql3 = "update into NWInfo set Chinese=@chn,Esen=@ese,Csent=@cse where English = @eng";
                    ocm = new OleDbCommand(sql3, occ);
                    ocm.Parameters.Add(new OleDbParameter("@eng", OracleType类型));
                    ocm.Parameters.Add(new OleDbParameter("@chn", OracleType类型));
                    ocm.Parameters.Add(new OleDbParameter("@ese", OracleType类型));
                    ocm.Parameters.Add(new OleDbParameter("@cse", OracleType类型));
                    ocm.Parameters["@eng"].Value=值;
                    ocm.Parameters["@chn"].Value=值;
                    ocm.Parameters["@ese"].Value=值;
                    ocm.Parameters["@cse"].Value=值;
                    //执行插入语句
                    int flag = ocm.ExecuteNonQuery();
                    if (flag > 0)貌似应该是这样