(1)(我用的是access数据库)
我想在一个按钮中实现一个表(grade)中的数据导到另一个表(Sum_Average)中,执行方法如下:
var
  SQLstmt: String;
begin
SQLstmt := 'insert into Sum_Average(Serial_Number) values(select a.Serial_Number from grade)';
F_login.Database1.Execute(SQLstmt);
end;
但出现错误为:
Project CJGL.exe raised exception class EDBEngineError with message'General SQL error.
[Microsoft][ODBC Microsoft Access Driver]Syntax error.in query expression'select a.serial_Number
from grade'.'.Process stopped Use step or Run to continue.
我把insert语句改换成:
SQLstmt := 'insert Sum_Average(Serial_Number) select a.Serial_Number from grade';
出现错误:
Syntax error in Insert INTO statement
好象是说Insert INTO表达式错.
我应该怎样使用这个语句,请各位大侠指教,万分感谢!!!!!!!!!!!!!!!!!!!!
(2)
我在Delphi中多次编译运行程序,多次运行之后点击Run中的Programe reset之后总是出现:
Project CJGL.exe raised exception class EDBEngineError with message'
Insufficient memory for this operation.
Alias:AsjGl.mdb 'Process stopped:User Setp or Run to Continue.
出现这个提示之后必须关闭Delphi6重起之后就好了.
我的机器配置是PIII500,内存为128M,怎么会提示内存不够哪,据说是BDE的问题,可是关掉BDE重起之后还是
不好使,有哪位高手赐教一二,使它好使,谢谢!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    1、可以用SELECT
    2、你看看数据引擎有没有问题
      

  2.   

    请问怎样用select语句,能写出源代码好吗?
      

  3.   

    'insert into Sum_Average(Serial_Number) values(select a.Serial_Number from grade
    a 没指定
    'insert into Sum_Average(Serial_Number) values(select a.Serial_Number from grade as a)'
    试试
      

  4.   

    query1.sql.text:=‘insert into Sum_Average(Serial_Number) select a.Serial_Number from grade';
    还有使用delphi最好正常关闭。
      

  5.   

    多了个values
    insert into  sum_average( Serial_Number) select Serial_Number from grade
      

  6.   

    回答你第二个问题吧:
    当你使用Programe reset命令之后,你的程序并没有把所占用的内存释放掉
    所以,你要尽量使应用程序正常退出,这样它才能急时释放内存。