社区
C#
帖子详情
在sql中 bigint 数据类型的转换出现了问题,无法读取!
hproof
2003-05-15 09:02:58
在表中有一个字段是 bigint 类型的,我用的是 C# ,按照约定,它是64位长的整形,相当与C#中的long 或 System.Int64
这里是三种转换过程,但都失败!
data = (System.Int64) dr["data"];
data = (long) dr["data"];
data = Convert.ToInt64(dr["data"]);
...全文
408
4
打赏
收藏
在sql中 bigint 数据类型的转换出现了问题,无法读取!
在表中有一个字段是 bigint 类型的,我用的是 C# ,按照约定,它是64位长的整形,相当与C#中的long 或 System.Int64 这里是三种转换过程,但都失败! data = (System.Int64) dr["data"]; data = (long) dr["data"]; data = Convert.ToInt64(dr["data"]);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hproof
2003-05-15
打赏
举报
回复
sorry,,,,,
发现错误不是数据库,转换,,,而是我自己。
在我的“解决方案”中,有2个工程:data负责数据库连接,test暂时用于测试;
以前,data输出在自己目录,test也引用到该目录。但后来我改变了data的输入目录,又没有更改test的引用位置。
因此,运行时,test总是调用“老”版本的data,从而发生了错误(当我发现即使修改data源代码,也无法改变执行效果时)。
现在问题已经解决了,,,希望大家别犯我这个错误。。。
Knight94
2003-05-15
打赏
举报
回复
应该用long就行了,看你的变量dr,是否用的是SqlDataReader?
那试试这个
data=dr.GetInt64(index);
or
data=(long)dr.GetValue(index);
hproof
2003-05-15
打赏
举报
回复
发现其它一些操作也导致失败:
foreach(object o in dr.ItemArray ){}
bool isnull = (dr[1] == null)?true:false;
String str = dr.ItemArray [1].ToString ();
System.Type t = dr[1].GetType ();
当试图执行以上操作时,就发生失败,,,,惨也。。
hproof
2003-05-15
打赏
举报
回复
另外,在调试时查看了 dr(DataRow) 中的内容,发现该字段的类型确实为 System.Int64,然而转换却不成功
(其它字段转换正确)
C#
111,119
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章