[英]C# SQL Server database queries
我編寫了以下代碼以從SQL Server數據庫中查詢內容。 第一個閱讀器中的查詢有效,但第二個閱讀器中的查詢無效。 我似乎無法弄清楚為什么,因為這兩種讀者的方法完全相同。 任何幫助深表感謝。
命令的參數在上面的函數中給出,而代碼btw中沒有。
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "...";
conn.Open();
SqlCommand command = new SqlCommand("SELECT stuff FROM table WHERE Belegnummer= @n and Belegjahr=@j", conn);
command.Parameters.Add(new SqlParameter("n", nr));
command.Parameters.Add(new SqlParameter("j", jahr));
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
r = reader.GetInt32(0);
}
}
command.Dispose();
SqlCommand command2 = new SqlCommand("SELECT stuff1, stuff2, stuff3 FROM sameTable WHERE BelID = @rnr", conn);
command2.Parameters.Add(new SqlParameter("rnr", r));
using (SqlDataReader reader2 = command2.ExecuteReader())
{
while (reader2.Read())
{
// variables are defined somewhere above
b = reader2.GetInt32(0);
j = reader2.GetInt32(1);
m = reader2.GetInt32(2);
}
}
}
請同時發布錯誤消息。
您可能會遇到DbNull值的麻煩。 在使用以下方法解析值之前,請檢查DbNull:
SqlReader.IsDBNull(column)
或將數據加載到數據表中:
DataTable dt = new DataTable();
using (SqlDataReader reader = cmd1.ExecuteReader())
{
dt.Load(reader);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.