簡體   English   中英

C#SQL Server數據庫查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM