日期:2014-05-18  浏览次数:20458 次

SQL Server2000转成Access时的语法问题
如题,转过来后没有报错,但是有的语句无效。还有,明明有某个字段,但是绑定时却说没有。
语法无效的的例子:
public static void UserUpd(string usercode, string username, string usersex, int userstanding, int userweight, int userbiryear, int userbirmonth, int userbirday, string usermarriage, string usernowstay, string usernowjob, string userphoto, string usermessage)
  {
  string userupd = "update Users set UserName=@username,UserSex=@usersex,UserStanding=@userstanding,UserWeight=@userweight,UserBirYear=@userbiryear,UserBirMonth=@userbirmonth,UserBirDay=@userbirday,UserMarriage=@usermarriage,UserNowStay=@usernowstay,UserNowJob=@usernowjob,UserPhoto=@userphoto,UserMessage=@usermessage where UserCode=@usercode";
  OleDbConnection con = CreateSQL.SQLCon();
  con.Open();

  OleDbCommand cmd = new OleDbCommand(userupd, con);

  cmd.Parameters.Add("@usercode", OleDbType.VarChar);
  cmd.Parameters.Add("@username", OleDbType.VarChar);
  cmd.Parameters.Add("@usersex", OleDbType.VarChar);
  cmd.Parameters.Add("@userstanding", OleDbType.Integer);
  cmd.Parameters.Add("@userweight", OleDbType.Integer);
  cmd.Parameters.Add("@userbiryear", OleDbType.Integer);
  cmd.Parameters.Add("@userbirmonth", OleDbType.Integer);
  cmd.Parameters.Add("@userbirday", OleDbType.Integer);
  cmd.Parameters.Add("@usermarriage", OleDbType.VarChar);
  cmd.Parameters.Add("@usernowstay", OleDbType.VarChar);
  cmd.Parameters.Add("@usernowjob", OleDbType.VarChar);
  cmd.Parameters.Add("@userphoto", OleDbType.VarChar);
  cmd.Parameters.Add("@usermessage",OleDbType.VarChar);

  cmd.Parameters["@usercode"].Value = usercode;
  cmd.Parameters["@username"].Value = username;
  cmd.Parameters["@usersex"].Value = usersex;
  cmd.Parameters["@userstanding"].Value = userstanding;
  cmd.Parameters["@userweight"].Value = userweight;
  cmd.Parameters["@userbiryear"].Value = userbiryear;
  cmd.Parameters["@userbirmonth"].Value = userbirmonth;
  cmd.Parameters["@userbirday"].Value = userbirday;
  cmd.Parameters["@usermarriage"].Value = usermarriage;
  cmd.Parameters["@usernowstay"].Value = usernowstay;
  cmd.Parameters["@usernowjob"].Value = usernowjob;
  cmd.Parameters["@userphoto"].Value = userphoto;
  cmd.Parameters["@usermessage"].Value = usermessage;

  cmd.ExecuteNonQuery();
  con.Close();
  }

------解决方案--------------------
明明有某个字段,但是绑定时却说没有?它说没有就一定是你哪里出了问题。
仔细检查一下你的那个字段。
------解决方案--------------------
字段表名加[]看看