1

好吧,我遇到了逻辑流程问题。由于某种原因,我声明的变量之一最终不会在当前上下文中存在。错误在第 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" -->
4

1 回答 1

4

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

    myAdapter.SelectCommand = com;
} <- this one!

处置你的命令。

于 2012-05-18T18:13:46.773 回答