ExecuteReader:Connection属性尚未初始化的错误让我觉得合适。我想我的设置正确。我将向您展示如何创建mssql连接,然后创建我正在请求的内容,以及我创建的用于读/写和打开/关闭连接的类。 (应用程序的三个不同部分,但我只是把它们混在一起,所以你可以看到我希望的实际逻辑流程。)
我错过了什么,或者我应该把它连接到哪里?例?我很感激帮助!
以下是我开始使用的使用声明:
using (MSSQL mssqldb = new MSSQL(Constants.msSqlServer, Constants.msSqlDb, Constants.msSqlUid, Constants.msSqlPswd))
这是我说的地方"嘿,使用我的MSSQL
课程#34获取我的数据;
using (var results = mssqldb.Read("SELECT TOP 1 * FROM AlertLog ORDER BY AlarmID DESC"))
{
results.Read();
legacyAlert = Int32.Parse(results["AlarmId"].ToString().Trim());
}
这是MSSQL类
class MSSQL : IDisposable
{
public MSSQL(string server, string database, string uid, string pswd)
{
string msSqlConnectionString = @"Data Source=" + server + ";Initial Catalog=" + database + ";user id=" + uid + ";password=" + pswd;
SqlConnection msqlConnection = new SqlConnection(msSqlConnectionString);
msqlConnection.Open();
Console.WriteLine("MS SQL OPEN!");
}
public void Write(string sql)
{
using (SqlCommand myCommand = new SqlCommand(sql, msqlConnection))
myCommand.ExecuteNonQuery();
}
public SqlDataReader Read(string sql)
{
using (SqlCommand myCommand = new SqlCommand(sql, msqlConnection))
return myCommand.ExecuteReader();
}
public void Dispose()
{
try {
msqlConnection.Close();
}
catch (SqlException ex) {
Console.Error.WriteLine("MS SQL Error - Closing Database");
Console.Error.WriteLine(ex);
}
msqlConnection.Dispose();
}
private SqlConnection msqlConnection;
}
答案 0 :(得分:1)
msqlConnection
为空。
您的构造函数创建一个名为msqlConnection
的局部变量,但不会分配给该字段。