数据库SQL2000
Delphi5数据库表中编号字段原来是int,现在改成了bigint。
程序中id变量类型原来是Integer,现在改成了Int64。
代码如下:
ADOQuery.FieldByName('编号').AsInteger := id;
……
……
ADOQuery.Post;还有for i := 0 to N do
begin
ADOQuery.Edit;
ADOQuery.FieldByName('编号').AsInteger := id
……
ADOQuery.Next;
end;
try
事务提交等代码
第一段代码在Post处,第二段代码在Next处,都会出现“多步操作产生错误。请检查每一步的状态值”的错误。但是在修改数据库字段类型和id变量类型之前运行是正常,如果只修改id变量类型而不修改数据库字段类型的话,也不会出错。
请问这是怎么回事啊?
我怀疑是不是AsInteger导致类型不符?但是出了AsInteger,又有什么办法能将Int64放进数据库呢?Value也不行~~谢谢各位大虾了!!!
Delphi5数据库表中编号字段原来是int,现在改成了bigint。
程序中id变量类型原来是Integer,现在改成了Int64。
代码如下:
ADOQuery.FieldByName('编号').AsInteger := id;
……
……
ADOQuery.Post;还有for i := 0 to N do
begin
ADOQuery.Edit;
ADOQuery.FieldByName('编号').AsInteger := id
……
ADOQuery.Next;
end;
try
事务提交等代码
第一段代码在Post处,第二段代码在Next处,都会出现“多步操作产生错误。请检查每一步的状态值”的错误。但是在修改数据库字段类型和id变量类型之前运行是正常,如果只修改id变量类型而不修改数据库字段类型的话,也不会出错。
请问这是怎么回事啊?
我怀疑是不是AsInteger导致类型不符?但是出了AsInteger,又有什么办法能将Int64放进数据库呢?Value也不行~~谢谢各位大虾了!!!
呵呵原来要用个类来赋值~~
TLargeIntField(ADOQuery.FieldByName('编号')).Value := id;
这样就OK啦~~~呵呵
能不能结贴自己给自己加分啊?