问题描述
调用时报错:“未将对象引用设置到对象的实例。”publicstaticstringGetCityNameForIp(stringipnum){returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1="+ipnum).ToString();}用以下语句调用时,出错string_data=Bll.DataGetManage.GetCityNameForIp("4294967250");但是将数字改为小一点,譬如下面的,又可以string_data=Bll.DataGetManage.GetCityNameForIp("429496");数据库cz_ipnum1为bitint类型,不知道为什么会报错,在SQL管理器里执行selectnum1fromcz_ipwherenum1=4294967250是可以的。请求帮助!!!
解决方案
解决方案二:
大侠还未出现!自己顶上~
解决方案三:
returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1="+ipnum).ToString();改成returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1='"+ipnum+"'").ToString();
解决方案四:
1,查询出错你后面又加一个.ToString()转换当然报空指针!ipnum这个变量改成数字型的不行吗?2,或者你传的参数的值的字符太长了
解决方案五:
1,查询出错你后面又加一个.ToString()转换当然报空指针!ipnum这个变量改成数字型的不行吗?2,或者你传的参数的值的字符太长了
解决方案六:
引用2楼as290617667的回复:
returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1="+ipnum).ToString();改成returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1='"+……
加与不加都是一样的,还是报错的。前面我说了,将数据改小一点譬如将4294967250改成429496就可以通过。我怀疑是不是C#的数据类型与SQL数据类型转换有问题。请大侠们求证
解决方案七:
引用2楼as290617667的回复:
returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1="+ipnum).ToString();改成returnDbHelper.ExecuteScalar(CommandType.Text,"selectnum1fromcz_ipwherenum1='"+……
加与不加都是一样的,还是报错的。前面我说了,将数据改小一点譬如将4294967250改成429496就可以通过。我怀疑是不是C#的数据类型与SQL数据类型转换有问题。请大侠们求证
解决方案八:
2楼加与不加都是一样的,还是报错的。前面我说了,将数据改小一点譬如将4294967250改成429496就可以通过。我怀疑是不是C#的数据类型与SQL数据类型转换有问题。请大侠们求证