是不是少了个"("
sqlstr:='insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm)'

解决方案 »

  1.   

    sqlstr:='insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm)';
    sqlstr:=sqlstr+' values ('''+Edit1.text+''','''+MaskEdit1.Text+''','''+ComboBox3.Text+''','''+Edit3.Text+''','''';
    sqlstr:=sqlstr+Edit4.Text+'''','''+Edit5.Text+''','''+MaskEdit2.Text+''','''+Memo1.Text+''','''';
    sqlstr:=sqlstr+Memo2.Text+'''','''+Edit6.Text+''','''+Memo3.Text+''','+Edit7.Text+',';
    sqlstr:=sqlstr+Edit8.Text+','+Edit9.Text+','''+cjjg+''','''+Edit11.Text+''','''+MaskEdit3.Text+''','+dd+')';
      

  2.   

    对不起,没有少"("
    这是我不小心写错了
        sqlstr:='insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm)';
        sqlstr:=sqlstr+' values('''+Edit1.text+''','''+MaskEdit1.Text+''','''+ComboBox3.Text+''','''+Edit3.Text+''',''';
        sqlstr:=sqlstr+Edit4.Text+''','''+Edit5.Text+''','''+MaskEdit2.Text+''','''+Memo1.Text+''',''';
        sqlstr:=sqlstr+Memo2.Text+''','''+Edit6.Text+''','''+Memo3.Text+''','+Edit7.Text+',';
        sqlstr:=sqlstr+Edit8.Text+','+Edit9.Text+','''+cjjg+''','''+Edit11.Text+''','''+MaskEdit3.Text+''',''dd'')';
    其中cjjg是我定义的另一个字符串
      

  3.   

    最好这么写:
    sqlstr:='insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,'+
        'cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm) values ('''+
        Edit1.text+''','''+MaskEdit1.Text+''','''+ComboBox3.Text+
        ''','''+Edit3.Text+''','''+Edit4.Text+''','''+Edit5.Text+
        ''','''+MaskEdit2.Text+''','''+Memo1.Text+''','''+Memo2.Text+
        ''','''+Edit6.Text+''','''+Memo3.Text+''','+Edit7.Text+','+Edit8.Text+
        ','+Edit9.Text+','''+cjjg+''','''+Edit11.Text+''','''+MaskEdit3.Text+
        ''','+dd+')';
      

  4.   

    肯定列多了或者说值多了,DELPHI这个错误的提示就是这个意思,但我看你的东西头感觉有点痛!而且最好不要这样写SQL(在DELPHI里面)
      

  5.   

    把这个语句写在一行里???
    delphi中的换行符是什么吗???
      

  6.   

    问题:1,你的cjjg变量里是否有逗号;2.那个dd是什么,也是变量吗
      

  7.   

    cjjg是这样的
    cjjg:string
    if ... then
    cjjg:='ddd'
    else
    if ... then
    cjjg:='ee';dd是一个固定的一个常量
      

  8.   

    这样,你在这句设置断点,把sqlstr的值取出来,然后在sql调试器上运行看看,有什么错误
    如果是插入的值的数量与字段不符的话,就是你在cjjg或dd这两个量里出现了逗号
      

  9.   

    出现了一个错误:                  
    ERROR 位于第 1 行:
    ORA-00917: 缺少逗号
      

  10.   

    我在SQLPLUS中写的是;
    insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm) values('001','0000-00-00 00:00','000','000','00','000','0000-00-00 00:00','','000','000','00000',000,00,00,'报立刑事案件','00','0000-00-00 00:00','dd')
      

  11.   

    SQL> insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm) values('001','0000-00-00 00:00','000','000','00','000','0000-00-00 00:00','','000',
      2  '000','00000',000,00,00,'报立刑事案件','00','0000-00-00 00:00','dd');
    '000','00000',000,00,00,'报立刑事案件','00','0000-00-00 00:00','dd')ERROR 位于第 2 行:
    ORA-01401: 插入的值对于列过大
      

  12.   

    对了,还有你看看插入的值是不是比允许的要大啊,比如tzbh长度为2,你插入'001'时就会出错,因为有的数据库是不会自动截取部分值执行插入的
      

  13.   

    日期我在数据库中设的是varchar2型,不是日期型,
    长度的问题我也已经查过了,没有毛病
      

  14.   

    insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm) values('1','0','0','0','0','0','0','','0','0','0',0,0,0,'t','0','0','dd') 
    你把这句在sqlplus里执行一下看看有没有错
      

  15.   

    insert into tz_jcj (tzbh,jjsj,bjxs,bjr,dwzz,jjr,ddsj,bjnr,cjqk,cjr,ssqk,swrs,ssrs,zjss,cjjg,zbld,tbsj,pcs_dm) values('001','0000-00-00 00:00','000','000','00','000','0000-00-00 00:00','','000',
      2  '000','00000',000,00,00,'报立刑事案件','00','0000-00-00 00:00','dd'); -- 這裡多了一個2