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);        }

解决方案 »

  1.   

    可能有关键字
    改成这样试试
    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(") ");
      

  2.   

    username是access的保留字。加[username]
      

  3.   

    加了。但仍然提示 参数 @username 没有默认值
      

  4.   

    直接写上 insert into member([username]) values('sdf')
    试试
      

  5.   

    new OleDbParameter("@username", OleDbType.VarChar,30) , 去掉 @
    new OleDbParameter("username", OleDbType.VarChar,30)