我是一名技校学生,目前正学习Delphi ,在学习实践中遇到一些问题。听网友说这儿的高手很多,待人热情,乐于助人,尤其关心我们这类新手的成长进步,故特来请教,恳请各位大侠伸出援助之手。我的问题如下:
1:我的含有SQL语句的小程序编译通过,但生成的project运行后下如下的提示框:
project projcet1.exe raised exception class EoleException with message’INSERT INTO语句的语法错误。’.Process stopped .Use Step or Run to Continue.
 但是我怎么查也查不出我select into语句的语法错误呀???
附我的相关源程序如下:
  with datamoduleado.ADOQuery1 do
           begin
           datamoduleado.adoquery1.Close;
           datamoduleado.adoquery1.SQL.Clear;
            sql.Add('insert into 南京(序号,通达方向,性质,全程代号,转接关系,支路端口,DDF架)'
            +'values(:序号,:通达方向,:性质,:全程代号,:转接关系,:支路端口,:DDF架) ');
        
           parameters.ParamByName('序号').Value :=combobox8.Text ;
           parameters.ParamByName('通达方向').Value :=edit7.Text ;
           parameters.ParamByName('性质').Value :=edit14.Text ;
           parameters.ParamByName('全程代号').Value :=edit8.Text ;
           parameters.ParamByName('转接关系').Value :=edit2.Text ;
           parameters.ParamByName('支路端口').Value :=edit9.Text ;
           parameters.ParamByName('DDF架').Value :=edit10.Text ;
           datamoduleado.adoquery1.ExecSQL;
          end
2:我的微软数据库long.mdb内含有好几个表,如表1,表2,表3等,请问如用类Pascal语句实现得知long.md表内的表1,表2,表3等表的名子呀??

解决方案 »

  1.   

    insert语句没什么问题,是不是中文字段名导致的不兼容。
      

  2.   

    with datamoduleado.ADOQuery1 do
               begin
               datamoduleado.adoquery1.Close;
               datamoduleado.adoquery1.SQL.Clear;
                sql.Add('insert into 南京(序号,通达方向,性质,全程代号,转接关系,支路端口,DDF架)
                +'values(:序号,:通达方向,:性质,:全程代号,:转接关系,:支路端口,:DDF架) ');         ///value前面缺少空格,加上后试试行不行。
            
               parameters.ParamByName('序号').Value :=combobox8.Text ;
               parameters.ParamByName('通达方向').Value :=edit7.Text ;
               parameters.ParamByName('性质').Value :=edit14.Text ;
               parameters.ParamByName('全程代号').Value :=edit8.Text ;
               parameters.ParamByName('转接关系').Value :=edit2.Text ;
               parameters.ParamByName('支路端口').Value :=edit9.Text ;
               parameters.ParamByName('DDF架').Value :=edit10.Text ;
               datamoduleado.adoquery1.ExecSQL;
              end
      

  3.   

    'values(:序号,:通达方向,:性质,:全程代号,:转接关系,:支路端口,:DDF架) ');///value前面缺少空格,加上后试试行不行。
      

  4.   

    sql.Add('insert into 南京(序号,通达方向,性质,全程代号,转接关系,支路端口,DDF架)'
                +'values(:序号,:通达方向,:性质,:全程代号,:转接关系,:支路端口,:DDF
    Values前没有空格。
    还有就是:
    表名,还有字段名最好不要用汉字.
      

  5.   

    你干脆把insert语句写成两句算了:   sql.Add('insert into 南京(序号,通达方向,性质,全程代号,转接关系,支路端口,DDF架)');
       sql.Add('values(:序号,:通达方向,:性质,:全程代号,:转接关系,:支路端口,:DDF架) ');
       
    还有,同意楼上,最好不要用汉字形式的。