我正在使用下面这样的声明度过一段有趣的时光
SqlCommand RiskRevalCommand =
new SqlCommand("select * from CreditAdmin.dbo.CreditData_Test");
我直接从 SQL Server Management Studio 中的查询中获取了 SQL 语句,所以我知道它在那里工作,但现在当程序尝试执行此行时,它会导致抛出异常:
SqlDataReader reader = RiskRevalCommand.ExecuteReader();
错误内容如下:
ExecuteReader:连接属性尚未初始化。
SqlConnection xavierConnection =
new SqlConnection("user id=FB\\user;" +
"password=password;" +
"server=dataserver;" +
"Trusted_Connection=yes;" +
"database=CreditAdmin;" +
"connection timeout=15");
try
{
xavierConnection.Open();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
try
{
SqlCommand RiskRevalCommand = new SqlCommand("select * from CreditAdmin.dbo.CreditData_Test");
SqlDataReader reader = RiskRevalCommand.ExecuteReader();
while (reader.Read())
{
try
{
double.TryParse(reader["Available Balance"].ToString(), out _availability);
...
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
//close the connection
try
{
xavierConnection.Close();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
我应该对我的 SQL 语句进行哪些更改,以便它不会崩溃,并且我仍然可以为字段执行 TryParsing?
另外,当它起作用时,这到底是怎么破的?
(这就是select *
我现在使用的地方)