2010-10-01 132 views
1

我收到错误ExecuteReader:连接属性尚未初始化。下面是我使用的代码。错误'连接属性尚未初始化'

SqlDataReader oReader = new SqlDataReader(); 
string sSQL = @" 
    WITH TAB_CTE AS (
    SELECT fbominum, fbompart, fparinum, flevel, fsono 
    FROM sodbom 
    WHERE fbompart= @fbompart and fsono = @fsono 
    UNION ALL 
    SELECT e.fbominum, e.fbompart, e.fparinum, e.flevel, e.fsono 
    FROM sodbom e 
    INNER JOIN TAB_CTE ecte ON ecte.fbominum = e.fparinum where e.fsono = @fsono 
    ) 
    SELECT * 
    FROM TAB_CTE where fbompart <> @fbompart 
    "; 
SqlCommand oCommand = new SqlCommand(sSQL, this._connection); 
oCommand.CommandType = System.Data.CommandType.Text; 
oCommand.Parameters.Add("@fbompart", ItemSODBOM.fbompart); 
oCommand.Parameters.Add("@fsono", ItemSODBOM.SONO); 
oReader = oCommand.ExecuteReader();//Here I am getting error 

回答

2

this._connection必须未初始化。

您需要为我们发布更多相关的代码才能确定。

+0

this._connection我们在我们的代码中使用了n次,只有这是我得到的错误地址 – Pradeep 2010-10-01 12:56:27

+0

@Pradeep - 它仍然可能是其他用途是在对象初始化之后,你的是只有在初始化之前尝试使用它的情况。 – 2010-10-01 12:57:49

+0

是的,我得到了,你是对的 – Pradeep 2010-10-01 13:08:23

1

我的this._connection是空的......你是否证实情况并非如此?

documentation并没有说如果连接为空,构造函数会抛出一个异常,所以我的猜测是它允许你传递null,希望你会在后面明确地设置Command属性,如果是的话。

0

您需要检查Connection对象,并且需要确保其ConnectionString属性不为NULL。

相关问题