Alright, I’m having an issue with logic flow. For some reason one of the variables I’m declaring does not end up as existing in the current context. The error is on line 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();
Here’s the full page source:
<% @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" -->
Take a look at your brackets around
usings. The inner one, just afterdisposes your command.