数据为空。不能对空值调用此方法或属性

问题描述

“/Web”应用程序中的服务器错误。--------------------------------------------------------------------------------数据为空。不能对空值调用此方法或属性。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.SqlTypes.SqlNullValueException:数据为空。不能对空值调用此方法或属性。源错误:行31:item.ListPrice=sdr.GetDecimal(5);行32:item.UnitCost=sdr.GetDecimal(6);行33:item.ItemName=sdr.GetString(7);//就是这行出的错误,各位大侠~~行34:item.ItemImage=sdr.GetString(8);行35:item.Qty=sdr.GetInt32(9);源文件:E:BlueStarBookShopDALItemAccess.cs行:33堆栈跟踪:[SqlNullValueException:数据为空。不能对空值调用此方法或属性。]System.Data.SqlClient.SqlBuffer.get_String()+80System.Data.SqlClient.SqlDataReader.GetString(Int32i)+52BookShop.DAL.ItemAccess.GetItem(StringbookId)inE:BlueStarBookShopDALItemAccess.cs:33BookShop.BLL.ItemManager.GetItem(StringbookId)inE:BlueStarBookShopBLLItemManager.cs:25BookShop.BLL.CartManager.Add(StringbookId)inE:BlueStarBookShopBLLCartManager.cs:67Cart.Page_Load(Objectsender,EventArgse)ine:BlueStarBookShopWebShoppingCart.aspx.cs:35System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtrfp,Objecto,Objectt,EventArgse)+15System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Objectsender,EventArgse)+33System.Web.UI.Control.OnLoad(EventArgse)+99System.Web.UI.Control.LoadRecursive()+47System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+1061--------------------------------------------------------------------------------版本信息:Microsoft.NETFramework版本:2.0.50727.1882;ASP.NET版本:2.0.50727.1879

解决方案

解决方案二:
我在网上搜到一个解决方法如下:数据为空。不能对空值调用此方法或属性。原因:若对象是null,那么调用对象的方法例如ToString()肯定出错一般是数据库字段的值为空在grideview等数据控件常出现解决:因此建议作NULL处理请问什么叫做NULL处理?
解决方案三:
判断null~
解决方案四:
sdr.GetString(7);改为sdr.IsDBNull(7)?null:sdr.GetString(7);或者Convert.ToString(sdr.GetValue(7));
解决方案五:
item.ItemName=sdr.GetString(7);这个字段是空,判断方法参考楼上的方法
解决方案六:
引用4楼am的回复:

item.ItemName=sdr.GetString(7);这个字段是空,判断方法参考楼上的方法

解决方案七:
判断一下是否为NULL就好。
解决方案八:
经典错误。

时间: 2024-10-26 21:04:54

数据为空。不能对空值调用此方法或属性的相关文章

jquery-SCRIPT65535: 意外地调用了方法或属性访问

问题描述 SCRIPT65535: 意外地调用了方法或属性访问 var $dom = $(ev.currentTarget); ev.dataTransfer.setData('dragId', $dom.attr('id')); 谷歌浏览器就没有问题,,, 求大神解决 解决方案 你好!这个问题你解决了吗? 目前我也遇到了这个问题,请告诉我怎么解决的好吗

JavaScript在IE中“意外地调用了方法或属性访问”_javascript技巧

同样一段代码,两次调用,一次通过,一次异常: function clearSelect(obj){ if(obj && obj.options) obj.options.length=0; } 以下是前人的一些经验: 这是两个经典异常,不知道原理的话很难定位.从下面的代码中可用看到发生的条件 <iframe src="javascript:'<script>top.ff1={abc:function(){}}<\/script>'" wid

解决Android ListView数据为空及加载错误的方法_Android

在项目中,都会用到ListView或GridView等列表控件.一般会用来展示从网络请求的数据 .如果请求的数据为空或者在请求的时候正好无没有网络了,我们的界面应该如何展示呢?数据为空的时候,ListView可以使用setEmptyView (View emptyView) 方法来我们需要的统一界面.数据加载失败呢?我们也可以统一进行处理. //下面这个类是简单地封装用于无数据及加载错误的一个页面. public class CommonShowView { private Context mC

php递归调用删除数组空值元素的方法

  本文实例讲述了php递归调用删除数组空值元素的方法.分享给大家供大家参考.具体如下: 该函数可以删除数组里的所有空值元素,包含空字符串,空的数组等等. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 function array_remove_empty($arr){ $narr = array(); while(list($key, $val) = each($arr)){ if (is_array($val)){ $val = a

servlet-spring mvc模式下用application存储数据,为什么在别的Servlet调用不到呢

问题描述 spring mvc模式下用application存储数据,为什么在别的Servlet调用不到呢 存值的方法是这样的application.setAttribute("yjsubId", subId); 取值的时候的方法是application.getAttribute("yjsubId"):为什么取到的值是空的呢 解决方案 在servlet 中调用application对象 解决方案二: subId你确实是有值的么,存放的代码看看 解决方案三: 估计你可

php递归调用删除数组空值元素的方法_php技巧

本文实例讲述了php递归调用删除数组空值元素的方法.分享给大家供大家参考.具体如下: 该函数可以删除数组里的所有空值元素,包含空字符串,空的数组等等. function array_remove_empty($arr){ $narr = array(); while(list($key, $val) = each($arr)){ if (is_array($val)){ $val = array_remove_empty($val); // does the result array conta

javascript:使用document.getElementById读取数据为空分析

今天写个网页,想在页面加载onLoad时,动态显示由后台其他程序传来的数据时,用document.getElementById获取控件对象总是为空.但是检查了这个id确实是存在的.在网上查阅一番后才知道了其中的原因. 1.下面是一个简单的例子,页面加载时显示一段信息 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTM

hive0.13.1 的bug,新增字段插入数据为空?

问题描述 hive0.13.1 的bug,新增字段插入数据为空? hive0.13.1 的bug,新增字段插入数据为空?hive从0.10.1升级到0.13.1发现以前的数据分区,在新增的字段是没有数据的? 解决方案 hive 升级后,好像是有一些兼容性的问题,如:hive0.13.1 orc兼容性问题fix

服务端无法接收到数据-iOS 服务端java接收到数据为空

问题描述 iOS 服务端java接收到数据为空 我们的服务端,忽然无法接收到我post 传过去的json数据,以前好几个月都没问题,我的代码大致如下,求大神解救 self.manager = [AFHTTPRequestOperationManager manager]; self.manager.responseSerializer = [AFJSONResponseSerializer serializer]; self.manager.requestSerializer=[AFJSONRe