如下代码一直出错。请大家帮忙检查一下
Form2.SimpleDataSet1.DataSet.CommandText:='INSERT gofix(mainid,paperno,operstate,computeri,computero,printer,cpu,ram,hd,winver,firstpro,secpro,promemo,profix,profixstate,statepj,memo,khqm,fixer,fixyear,fixmonth,godate,synchronism,supervisor) VALUES('+''''+mainid+''''+','+''''+edit14.Text+''''+','+''''+operstate+''''+','+''''+edit1.text+''''+','+''''+edit2.text+''''+','+''''+edit3.Text+''''+','+''''+edit4.Text+''''+','+''''+edit5.Text+''''+','+''''+edit6.Text+''''+','+''''+edit7.Text+''''+','+''''+firstpro+''''+','+''''+secpro+''''+','+''''+edit10.Text+''''+','+''''+edit12.Text+''''+','+''''+profixstate+''''+','+''''+statepj+''''+','+''''+edit11.Text+''''+','+''''+edit13.Text+''''+','+''''+combobox1.Text+''''+','+''''+inttostr(yy)+''''+','+''''+inttostr(mm)+''''+','+''''+datetostr(datetimepicker1.Date)+''''+','+''''+'0'+''''+','+''''+'0'+''')';
Form2.SimpleDataSet1.Execute;
错误提示SQL错误8114。查资料是日期数据不符,但是我已经转换了啊。请大家看看怎么回事。

解决方案 »

  1.   

    INSERT INTO titles  //少了into
             (title_id, title, type, pub_id, price)
    VALUES   ('BU9876', 'Creating Web Pages', 'business', '1389', '29.99')
    ----------
    ''''+profixstate+'''' //可以用 QuotedStr(profixstate)代替
      

  2.   

    不要用datetostr,用FormatDateTime(const Format: string; DateTime: TDateTime): string;并指定它的格式。你的问题应该是出在转换后的格式合数据库的格式不一直,一般情况下可以用'YYYY-MM_DD'。
      

  3.   

    把字符放到一个变量中去吧。
    在DEBUG看看变量,在到数据库中运行看看SQL语句哪里错了。
      

  4.   

    问题解决了,从错误提示上看是时间数据错误,但仔细分析程序后发现有一个变量做了不该初始的初始化,所以出错了。实际上和时间数据没有任何关系。但以上2个朋友发现了语句中缺少into确实也是一个错误。给予加分。