以前用oledbparmater代入参数,现在参数较少。想直接写,没想到不行了。
代码如下:
public void MemberAdd(string userName,string userPassword,string nickName,bool isLock)
    {
        string SqlText = "insert into Member(username,password) values('" + userName + "','" + userPassword + "','" + nickName + "','" + isLock + "')";
        HttpContext.Current.Response.Write(SqlText);
        //DB.ExecuteNonQuery(SqlText);
        
    }
提示:Inster into 语句错误,
Response.Write输出的语句为:insert into Member(username,password) values('张三','123456','管理员','False') 搞了一个小时,真头大了!!

解决方案 »

  1.   

    不好意思。写掉了一点东西:
     string SqlText = "insert into Member(username,password,nickName,isLock) values('" + userName + "','" + userPassword + "','" + nickName + "','" + isLock + "')";
    上面完整的输出代码是:insert into Member(username,password,nickName,isLock) values('张三','123456','管理员','False')请教···
      

  2.   

    Member后加个空格,还有插入的类型是否匹配
      

  3.   

    “/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------INSERT INTO 语句的语法错误。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。源错误: 
    行 58:         Connection.Open();
    行 59:         OleDbCommand Command = this.BuildInitCommand(commandText);
    行 60:         intValue=Command.ExecuteNonQuery();
    行 61:         Connection.Close();
    行 62:         return intValue;
     
      

  4.   

    不知道password要不要加个[password]
      

  5.   

    表中的前三个为字符串型。最后一个为bool型。。
    to:sunkangta(●●●●●)  加空格还是一样报错
      

  6.   

    我很奇怪为什么不把isLock设置成Y或N,或者1和0呢
      

  7.   

    password加个[password]
    然后把最后一个参数的''拿掉
      

  8.   

    既然你islock是bool型,你插入字符串的‘False’当然不对
      

  9.   

    按whosyourdaddy的方法,问题解决,可能是password是access数据库中的关键字,导致出错。  晕死!!小小字段会弄死人啊!!
      

  10.   

    你的 isLock 是不是 bit 型的,要是是的话问题就在这了,改成 nickName + "'," + (isLock?"1":"0") + ")"
      

  11.   

    你用的是什么数据库,如果是MYSQL,可以先在查询分析器里面先试运行一下,看看能不能插入,那样来判断是不是你代码的原因~
      

  12.   

    刚才没注意
    insert into Member(username,password) values('张三','123456','管理员','False') insert into 2个字段,而 values 里面写了4个值,这是什么语句
      

  13.   

    你用的应该是Access数据库,password是关键字string SqlText = "insert into Member(username,[password],nickName,isLock) values('" + userName + "','" + userPassword + "','" + nickName + "','" + isLock + "')";