insert  ,into,  freereg (username)  values  (" & username & ")

解决方案 »

  1.   

    cm.CommandText= "insert freereg (username)  values  ('" & username & "')" 
    cm.execute
      

  2.   

    "insert  freereg (username)  values  ('" & username & "')" 
      

  3.   

    1.insert 
    如kwq_cn(kwq)和zhepu(小浦)所写,因为username字段是字符型的,SQL中是用单引号作为字符串的标识的。
    2.select
    cm.CommandText=" SELECT * FROM [user] "
    user 是SQL的保留关键字,要加上[]。
      

  4.   

    insert  freereg (username)  values  ('" & username & "')" 一定要有单引号的,否则是会出错!
    至于那句select 应该不会出错,看一看是不是你的拼写有错误,或者在sql中含有非法字符。
    告诉你一个调试sql的办法,就是把sql语句copy 出来,到sql server中运行,如果能通过,基本上都不会有问题的。
      

  5.   

    强烈建议,看看《SQL Server 2000编程员指南》,看看关于SQL语法部分!
      

  6.   

    老兄你开什么玩笑吧,加入记录时是 freereg 
    select 就变成了 user ,想不出错都难啊
      

  7.   


    很感谢各位的回复少了那两个 ' ' 号我打字时侯的疏忽,我在update语句中都写对了,不会忘了用单引号引字符的。再说,如果真是这个引号问题,我也犯不着来这么向大家求教了。现在问题依旧存在,我和公司的几位同事百思不得其解。to Corny():user表在类似提交的时侯也出现问题,所以是直接复制上来的。
    最后还是很感谢大家的回复,这个贴子再保留三天。如果那时再没有答案,我照旧给大家分。 
      

  8.   

    建议:将sql语句用response.write输出到html上。将其复制到sql server中看看能不能
    执行。出什么错误。再将其改进。如没错。就是asp的错了。。
      

  9.   

    不要开玩笑了!你漏掉了adocmd.commandType,虽然不是必须的但是是个好习惯。问题解决:
        insert: 你的freereg表中如果除username外的其他字段没有default值,那么insert
                一定失败;你可以为他们定义一个default值,特别是not null的一定要!
        select: adors=server.CreateObject("ADODB.Recordset")
                set adors=adocmd.execute
                while not adors.eof
                   ...
                   adors.movenext
                wend
      

  10.   

    你首先要确定问题出现在那些部分,可以一个一个的使用,看是不是由于其他语句的影响造成的,
    SELECT 语句应该没有问题,但USER表是一个保留字,使用的时候加[]。如:
    select * from [user].
    至于insert语句内容你应检查表freereg 中,除过username外,是否还有字段不能为空,并检查字段类型值与你要插入的值类型是否相同。
    你可以在 SQL server 中的 Profiler中跟踪语句,在把出问题的语句copy到Query Analyzer中运行,就知道问题在那发生了
      

  11.   

    cm.CommandText= "insert  freereg (username)  values  ('"&username&"')" 
    cm.execute
    select语句是没错,可能上前面的错,所以后面就无法执行了,当然有时要看看字段属性
      

  12.   

    >>错误类型:
    >>Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    后面的呢
      

  13.   

    <%
    '把新的用户写入数据库
    cm.CommandText= "insert  freereg (username)  values  ('" & username & "')" 
    cm.execute
    %>-------------------------------------------------'查询用户
    cm.CommandText="SELECT * FROM user"   ‘user 是表名吗?如果是,不可能有问题啊!
    cm.execute解决方法,执行一个 SQL 语句的时候把其他两个注释掉,如果分别都没有问题,则是你 SQL SERVER 的问题,应该是限制连接数目比较小,改一下就可以了。
      

  14.   

    正因为user 是表名才有问题,我上面已经说过了,user是SQL的保留关键字,要加上"[]":
    SELECT * FROM [user]
    建议不要用SQL的关键字作表名或字段名
      

  15.   

    还有你的出错到底是在insert还是select?
      

  16.   

    一、adocmd.commandType 应该有!二、这条语句有问题
    cm.CommandText= "insert  freereg (username)  values  (" & username & ")" 
    应该是:insert into freereg(username) values('" & username & ")"
    三、为什么不写成:cm.execute("inset into ...") 呢?