“未将对象引用设置到对象的实例。”如何解决?

xy0074075 2008-05-30 12:27:43
img=C:\Documents and Settings\XY\桌面\QQ截图未命名2.bmp][/img]

DbCommand cmd = Provider.CreateCommand();指向我这句?
怎么解决呢?
...全文
162 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qas1234 2009-02-14
  • 打赏
  • 举报
回复
DbCommand cmd = Provider.CreateCommand();
改为DbCommand cmd = new SqlCommand();
witer666 2008-05-31
  • 打赏
  • 举报
回复
Provider.CreateCommand()返回的应该是NULL!
xy0074075 2008-05-30
  • 打赏
  • 举报
回复
恩 定了位NULL 代码部分如下:
public static IDbBase Provider = null;
public static DataTable ExecuteTable(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] commandParameters)
{
DbCommand cmd = Provider.CreateCommand();

using (DbConnection connection = Provider.CreateConnection())
{
connection.ConnectionString = connectionString;
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
DbDataAdapter ap = Provider.CreateDataAdapter();
ap.SelectCommand = cmd;
DataSet st = new DataSet();
ap.Fill(st, "Result");
cmd.Parameters.Clear();
return st.Tables["Result"];
}
}

如何改正呢? 谢谢!!
46539492 2008-05-30
  • 打赏
  • 举报
回复
DbCommand cmd = Provider.CreateCommand();指向我这句?
====================
Provider.CreateCommand();没有返回DbCommand对象所以就为null了吧?估计是异常处理做的不够
mapserver 2008-05-30
  • 打赏
  • 举报
回复
sorry,打错了。


有对象为null了。
Provider.CreateCommand()中的Provider是静态类还是对象,如果是对象,估计就它为null了。
mapserver 2008-05-30
  • 打赏
  • 举报
回复
有对象为null了。
Provider.CreateCommand()中的Provider是精通类还是对象,如果是对象,估计就它为null了。
xy0074075 2008-05-30
  • 打赏
  • 举报
回复
实在搞不定呀
谁能帮帮我呀!!!
xy0074075 2008-05-30
  • 打赏
  • 举报
回复
public static IDbBase Provider = null;
是不是因为这个原因?
应该怎么修改呢?
wh110 2008-05-30
  • 打赏
  • 举报
回复
要么是你有没有声明的变量,要么传入的值有为null的
xy0074075 2008-05-30
  • 打赏
  • 举报
回复
我知道Provider位null
具体怎么修改
谁能告诉我吗?
way1234 2008-05-30
  • 打赏
  • 举报
回复
有对象为null了。
xy0074075 2008-05-30
  • 打赏
  • 举报
回复
IDbBase文件:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Common;

namespace NetCMS.DALProfile
{
public interface IDbBase
{
DbCommand CreateCommand();
DbConnection CreateConnection();
DbDataAdapter CreateDataAdapter();
DbParameter CreateParameter();
}
}


using System;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Collections;
using System.Text.RegularExpressions;
using NetCMS.Config;
namespace NetCMS.DALProfile
{
public abstract class DbHelper
{
public static IDbBase Provider = null;
public static DataTable ExecuteTable(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] commandParameters)
{
DbCommand cmd = Provider.CreateCommand();

using (DbConnection connection = Provider.CreateConnection())
{
connection.ConnectionString = connectionString;
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
DbDataAdapter ap = Provider.CreateDataAdapter();
ap.SelectCommand = cmd;
DataSet st = new DataSet();
ap.Fill(st, "Result");
cmd.Parameters.Clear();
return st.Tables["Result"];
}
}
}

如何修改让它不报那个错误呢?
46539492 2008-05-30
  • 打赏
  • 举报
回复
public static IDbBase Provider = null;
==============
定为null又如何调用Provider.CreateConnection()呢,所以出错是理所当然的。
如果你是静态类直接Provider.CreateConnection(),不是则
实例化一个
xy0074075 2008-05-30
  • 打赏
  • 举报
回复
帮忙解决下吧
public static IDbBase Provider = null;

把NULL删除,程序启动时还是默认Provider 位null
我只是用这句来定义Provider 能够调用IDbBase里的函数,

但总出现“未将对象引用设置到对象的实例。”错误
应该怎么改正??

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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