永发信息网

System.Data.SqlTypes.SqlNullValueException: 数据为空。不能对空值调用此方法或

答案:3  悬赏:80  手机版
解决时间 2021-02-11 20:47
System.Data.SqlTypes.SqlNullValueException: 数据为空。不能对空值调用此方法或
最佳答案
因为你从SQL中读取的值为(null), 你先要判断从SQL中读取的数据是否为空(null). 如果为空(null), 自己赋值为0或其他字符就可以了.
全部回答
首先你使用一维数组来储存结果肯定是不行的,这样只能保存最后一条记录。如果一定要用数组的话,应该使用二维数组,建议使用DataSet。
而要避免发生这个错误,只要在赋值语句外面嵌套一个if判断来保证取出的数据不是NULL空值。
类似楼上这样:
for (int i = 0; i < 7; i++)
{
if(!reader.IsDBNull(i))
{
readstring[i] = reader.GetString(i);
}
}
IsDBNull
就像楼上兄弟说的,有可能读出的数据为NULL,可以这样改:
方法一:
while (reader.Read())
{
for (int i = 0; i < 7; i++)
{
if (reader.IsDBNull(i))
{
continue;
}
readstring[i] = reader.GetString(i);
}
}
方法二:
string sql = "select ISNULL([Name],''),ISNULL([Address],''),ISNULL([WebAddress],''),ISNULL([Telephone],''),ISNULL([Description],''),ISNULL([LeftTopPic],''),ISNULL([LeftBottomPic],'') from [t_Customer] where [CustomerID] = " + ctid;
方法三:
while (reader.Read())
{
for (int i = 0; i < 7; i++)
{
readstring[i] = reader[i].ToString();
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
松江县教育局车墩中心幼儿园地址有知道的么?
砂浆试块M10配合比
钱塘街地址在什么地方,想过去办事
【瑞穗的静夜阅读答案】瑞穗的静夜主要写了什
求助大佬有关颠覆者加成的问题
松江县天马山镇中心幼儿园地址在哪,我要去那
华兴大药房双桂店地址有知道的么?有点事想过
国内发行的陶笛专辑有哪些?要具体些哟!
怎么用准提咒许愿
有人要卖qq号,请问应注意什么
求网名:女,四十岁,要文雅,简单而有智慧型
松江县华阳镇中心幼儿园地址在哪,我要去那里
什么小说女主角叫白子涵男主叫贺什么
--An earthquake hit Indonesiayesterday. --
上海到蒙特利尔经什么航线
推荐资讯
宇龙机电怎么去啊,有知道地址的么
hp pavilion dv3 notebook pc笔记本 ========
颖康健康药店地址在哪,我要去那里办事
亲亲宝贝母婴宁都店在哪里啊,我有事要去这个
本人20 一直生活毫无规律因为sy 整个人也没精
流星雨酒吧地址在什么地方,想过去办事
利安社区电超市和谐小区营业厅怎么去啊,有知
迎春住宿(延安子长县)地址好找么,我有些事要
宠物小精灵原生花2
两个视频怎么变成一个?就是这个这个场景完了
高尔登楼梯在哪里啊,我有事要去这个地方
微信,好友加我 ,我为什么没收到好友验证 怎
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?