access的数据库,一共有11个字段,字段名都为中文,如下语句:insert (字段1,字段2,字段3) values ('值1','值2','值3') 可以执行,但当我想把这11个字段的值都输入的时候sql就执行不了了,语句如下: insert (字段1,字段2,......,字段11) values ('值1','值2',......,'值11')。
谁能告诉我这是怎么回事啊?

解决方案 »

  1.   

    insert (字段1,字段2,......,字段11) values ('值1','值2',......,'值11')。
    改为
    insert (字段1,字段2,......,字段11) values (''值1'',''值2'',......,''值11'')。
    注意写值的时候
    要用两个单引号
      

  2.   

    有可能部分字段为自动编号或时间或数字。,自动编号无法用SQL赋值,数字不能加‘’,等等...
      

  3.   

    注意sql语法,还有就是access有时候很变态的,当时用adoquery的时候字段名需要加中括号。如果你的字段值都是动态的话,那你可以采用提前生成sql语句的方法,也可以采用query的sql中的add,后者需要参数传递,前者不需要!
      

  4.   

    insert into 表名(字段1,字段2...字段11)
    values(''值1'',''值2''...''值11'')
    要用两个单引号!而不是一个!
      

  5.   

    所提供的数据值必须与列的列表匹配。数据值的数目必须与列数相同,每个数据值的数据类型、精度和小数位数也必须与相应的列匹配。有两种方法指定数据值: 用 VALUES 子句为一行指定数据值: 
    INSERT INTO MyTable (PriKey, Description)
           VALUES (123, 'A description of part 123.')用 SELECT 子查询为一行或多行指定数据值。 
    INSERT INTO MyTable  (PriKey, Description)
           SELECT ForeignKey, Description
           FROM SomeView你就照这个例子就行了,这是正确的
    下面的查询将一行添加到 titles 表中,以指定书名、类型、出版商及价格的值:INSERT INTO titles
             (title_id, title, type, pub_id, price)
    VALUES   ('BU9876', 'Creating Web Pages', 'business', '1389', '29.99')
    这也是正确的
      

  6.   

    在sql的帮助下有很多的例子啊,很好实用的
      

  7.   

    有可能是你数据库设计的问题,你在数据库里是不是有自动编号的字段,那个字段就不可以用Insert语句插入,其它的前面各位已经说了,在Dephi里字符串中如果想有'符号的话,要用''来代表
      

  8.   

    insert into table1(字段1,字段2,......,字段11) values ('值1','值2',......,'值11')。
      

  9.   

    query1.sql.add('insert into table1values (:p1,:p2,......,:p11)').
     query1.parameters.parabyname(':p1').values:=edit1.text;
     query1.parameters.parabyname(':p1').values:=edit2.text;
      .........
     query1.parameters.parabyname(':p11').values:=edit11.text;
     try
       query1.excesql;
     except end;