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

c# 操作access错在那里?
public void Add(memberModel model)
  {
  StringBuilder strSql = new StringBuilder();
  strSql.Append("insert into member(");
  strSql.Append("username,truename,password,gender,mobile,areaid");
  strSql.Append(") values (");
  strSql.Append("@username,@truename,@password,@gender,@mobile,@areaid");
  strSql.Append(") ");

  OleDbParameter[] parameters = {
  new OleDbParameter("@username", OleDbType.VarChar,30) ,  
  new OleDbParameter("@truename", OleDbType.VarChar,60) ,  
  new OleDbParameter("@password", OleDbType.VarChar,32) ,  
  new OleDbParameter("@gender", OleDbType.Integer,4) ,  
  new OleDbParameter("@mobile", OleDbType.VarChar,150) ,  
  new OleDbParameter("@areaid", OleDbType.VarChar,50)  
   
  };
  parameters[0].Value = model.username;
  parameters[1].Value = model.truename;
  parameters[2].Value = model.password;
  parameters[3].Value = model.gender;
  parameters[4].Value = model.mobile;
  parameters[5].Value = model.areaid;
  DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);

  }

================================================================
执行的时候提示 insert语法错误。 跟踪了一下运行过程。parameters 参数值都能正确获取。
如果只保留username 则提示 @username 参数没有默认值。不知道究竟错在了那里,请各位路过的朋友们帮忙看看
public void Add(memberModel model)
  {
  StringBuilder strSql = new StringBuilder();
  strSql.Append("insert into member(");
  strSql.Append("username");
  strSql.Append(") values (");
  strSql.Append("@username");
  strSql.Append(") ");

  OleDbParameter[] parameters = {
  new OleDbParameter("@username", OleDbType.VarChar,30) 
  };
  parameters[0].Value = model.username;
  DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);

  }


------解决方案--------------------
可能有关键字
改成这样试试
strSql.Append("insert into [member](");
strSql.Append("[username],[truename],[password],[gender],[mobile],[areaid]");
strSql.Append(") values (");
strSql.Append("@username,@truename,@password,@gender,@mobile,@areaid");
strSql.Append(") ");
------解决方案--------------------
探讨

可能有关键字
改成这样试试
strSql.Append("insert into [member](");
strSql.Append("[username],[truename],[password],[gender],[mobile],[areaid]");
strSql.Append(") values (");
strSql.Append("@username,@t……

------解决方案--------------------
new OleDbParameter("@username", OleDbType.VarChar,30) , 去掉 @
new OleDbParameter("username", OleDbType.VarChar,30)