谁来帮我解决一个关于bigint类型的赋值问题?

GZSYSTEM 2013-02-20 05:01:35
说明:
SQL数据表的字段类型为:bigint

delphi声明部份:
var JHD_ID:int64;
取值部份:
JHD_ID:=Adatasource.DataSet.FieldByName('ID').Value;
赋值部份:
方法1:
FieldByName('JHD_ID').value:=JHD_ID; //这样写可以编译,但在运行到这一句时报错。
方法2:
FieldByName('JHD_ID').AsInteger:=JHD_ID; //这样写可以编译和运行,但如果JHD_ID的值大于int的数据范围时就报错。

各位老师,请正确的方法应该也怎么样的?先谢谢大家了。

...全文
276 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonhehe 2013-02-21
  • 打赏
  • 举报
回复

--mssql2000
CREATE TABLE [dbo].[t1] (
	[aa] [bigint] NULL ,
	[bb] [int] NULL 
) ON [PRIMARY]
GO

var
  a : Int64;
begin
  a := 9223372036854775807;    //int64的最大值
  qry1.Append;
  qry1.FieldByName('aa').Value := a;
  qry1.FieldByName('bb').Value := 1234567890;
  qry1.Post;
  //D xe 运行通过
end;
feiba7288 2013-02-20
  • 打赏
  • 举报
回复
或者ParamByName('JHD_ID').Value:=JHD_ID;
feiba7288 2013-02-20
  • 打赏
  • 举报
回复
试下ParamByName('JHD_ID').AsInteger:=JHD_ID;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧