向表animals.db(字段有NAME,SIZE,AREA,其中NAME,AREA类型为Character,SIZE为Number)中插入新记录时,在Query1中添加:
var
name,area:string;
size:integer;begin
name:=edit1.text;
area:=edit2.text;
size:=strtoint(edit3.text);
……
insert into animals.db
(name,area)
values(:name,:area)
{以上简写}
query1.parambyname('name').asstring:=Name;
query1.parambyname('area').asstring:=Area;
……
运行时可以正确插入NAME,AREA字段值,但当向NAME,SIZE,AREA中插入新值时,即:
insert into animals.db
(name,size,area)
values(:name,:size,:area) //运行时出现错误,且就在这一行
query1.parambyname('name').asstring:=Name;
query1.parambyname('size').asstring:=inttostr(size);
query1.parambyname('area').asstring:=Area;
……
当运行程序时,出现错误对话框,即:
Debugger Exception Notification 对话框:
project book_1.exe raised exception class EDBEngineError with message'Invalid use of keyword.
Token:size,area)
values(?,?,?)
line Number:2'.Process stopped.Use Step or Run to continue.
如何改写代码?
var
name,area:string;
size:integer;begin
name:=edit1.text;
area:=edit2.text;
size:=strtoint(edit3.text);
……
insert into animals.db
(name,area)
values(:name,:area)
{以上简写}
query1.parambyname('name').asstring:=Name;
query1.parambyname('area').asstring:=Area;
……
运行时可以正确插入NAME,AREA字段值,但当向NAME,SIZE,AREA中插入新值时,即:
insert into animals.db
(name,size,area)
values(:name,:size,:area) //运行时出现错误,且就在这一行
query1.parambyname('name').asstring:=Name;
query1.parambyname('size').asstring:=inttostr(size);
query1.parambyname('area').asstring:=Area;
……
当运行程序时,出现错误对话框,即:
Debugger Exception Notification 对话框:
project book_1.exe raised exception class EDBEngineError with message'Invalid use of keyword.
Token:size,area)
values(?,?,?)
line Number:2'.Process stopped.Use Step or Run to continue.
如何改写代码?
能讲详细一点吗?
我觉得以上差别就是name,area是字符型,而size是整形,你觉得这与运行错误有关吗?
试一下
改:query1.parambyname('size').asInteger:=size;