SelectCommand.Connection 属性尚未初始化

Posted

技术标签:

【中文标题】SelectCommand.Connection 属性尚未初始化【英文标题】:SelectCommand.Connection property has not been initialized 【发布时间】:2012-05-26 07:49:15 【问题描述】:

好的,我遇到了逻辑流问题。由于某种原因,我声明的变量之一最终不会在当前上下文中存在。错误在第 18 行:

Exception Details: System.InvalidOperationException: Fill: SelectCommand.Connection property has not been initialized.

Source Error: 


Line 16:            myAdapter.Fill(tabledata);
Line 17:         catch (Exception ex) 
Line 18:            throw (ex);
Line 19:         finally 
Line 20:            con.Close();

这是完整的页面来源:

<% @Page Language="C#" Debug="true" %>
<% @Import Namespace="System.Data" %>
<% @Import Namespace="System.Data.Odbc" %>
<% @Import Namespace="System.Web.Configuration" %>
<!-- #include file="header.html" -->
<%
    string conString = WebConfigurationManager.ConnectionStrings["stampConnectionString"].ConnectionString;
    OdbcDataAdapter myAdapter = new OdbcDataAdapter();  
    DataTable tabledata = new DataTable();      
    using (OdbcConnection con = new OdbcConnection(conString)) 
        using (OdbcCommand com = new OdbcCommand("SELECT * FROM cheeseisdelicious", con)) 
            myAdapter.SelectCommand = com;
        
        try 
            con.Open();
            myAdapter.Fill(tabledata);
         catch (Exception ex) 
            throw (ex);
         finally 
            con.Close();
        
    
    Response.Write("<table>");
    foreach (DataRow row in tabledata.Rows) 
        Response.Write("<tr>");
        foreach (var item in row.ItemArray) 
            Response.Write("<td>" + item + "</td>");
        
        Response.Write("</tr>");
    
    Response.Write("</table>");

%>
<!-- #include file="footer.html" -->

【问题讨论】:

【参考方案1】:

看看usings 周围的括号。内层,紧随其后

    myAdapter.SelectCommand = com;
 <- this one!

释放你的命令。

【讨论】:

谢谢!稍后我会将您的答案标记为正确。

以上是关于SelectCommand.Connection 属性尚未初始化的主要内容,如果未能解决你的问题,请参考以下文章

System.InvalidOperationException:“填充:SelectCommand.Connection 属性尚未初始化。”

system.invalidoperationexception:填充:selectCommand.Connection 属性尚未初始化

在c#中调用oracle存储过程

选择命令初始化错误