我有這樣的代碼:返回一個SqlDataReader
public static SqlDataReader GetGeneralInformation (int RecID)
{
using (var conn = new SqlConnection(GetConnectionString()))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText =
@"SELECT cs.Status, cs.Completed
FROM NC_Steps s
INNER JOIN NC_ClientSteps cs
ON cs.RecID = s.RecID
WHERE cs.ClientID = 162
AND s.RecID = @value";
cmd.Parameters.AddWithValue("@value", RecID);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
return reader;
}
return null;
}
}
}
我如何引用呢?
我試過這個,但它不起作用。
SqlDataReader reader = GeneralFunctions.GetGeneralInformation();
而且我將如何從閱讀器讀取?
Reader.GetString(reader.GetOrdinal("Status"))
編輯:
現在我收到以下錯誤:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
下面是更新後的代碼:
public static IEnumerable<IDataRecord> GetGeneralInformation (int ClientID)
{
using (var conn = new SqlConnection(GetConnectionString()))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText =
@"SELECT i.GoLiveDate, i.FirstBonusRun, i.TechFName, i.TechLName, i.TechEmail, i.TechPhone, i.WebISPFName, i.WebISPLName,
i.WebISPEmail, i.WebISPPhone, i.FullFillFName, i.FullFillLName, i.FullFillEmail, i.FullFillPhone, d.FName,
d.LName, d.HomePhone, d.Email
FROM NC_Information i
INNER JOIN Distributor d
ON d.DistID = i.ClientID
WHERE clientID = @value";
cmd.Parameters.AddWithValue("@value", ClientID);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
yield return reader;
}
yield return null;
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
IEnumerable<IDataRecord> reader = GeneralFunctions.GetGeneralInformation((int)Session[ "DistID" ]);
//string result = GeneralFunctions.GetGeneralInformation(Globals.GeneralInformation).First()[ "Status" ].ToString();
}
爲什麼你不能像讀取其他SqlDataReader一樣閱讀它?它失敗了嗎?如果是這樣,那是因爲你的「使用」語句。在使用閱讀器之前,您正在關閉連接。 – 2012-04-20 19:42:31
@JohnSaunders我試圖讓讀者自己迴歸。我不確定完成我想要做的事情的最佳方式。基本上它是一個填充了數據庫數據的asp.net表單。我能想到的唯一方法就是讓讀者自己回來,這樣我就可以將信息填入asp.net文本框。 – 2012-04-20 19:45:02
您可以返回從閱讀器填充的對象。而你仍然沒有說過什麼是行不通的。 – 2012-04-20 19:46:09