-1

私は次のクエリを持っています

select * from DATABASE.dbo.Rooms r
where not exists
    (select * from DATABASE.dbo.Reservation
        where RoomNo = r.RoomNo
        and DateStart <= 'Textbox2.text'
        and DateEnd >= 'Textbox1.text')

ラベルには、利用可能なすべての部屋とその詳細が表示されます。ラベル コントロールにテーブル フィールド データを表示するにはどうすればよいですか

4

1 に答える 1

2

どこから始めればよいかわかりにくいのですが、ここ...

まず、C# と SQL の違いを理解してください。あなたのSQL文は意味がありません。パラメータ化されたクエリを使用します。パラメータ化されたクエリを使用してくださいパラメータ化されたクエリを使用してください!

string query = "select * from DATABASE.dbo.Rooms r "+
               "where not exists "+
               "(select * from DATABASE.dbo.Reservation "+
               "          where RoomNo = r.RoomNo "+
               "          and DateStart <= @endDate "+
               "          and DateEnd >= @startDate)"

これが SQL クエリです。C# から呼び出します。

using (SqlCommand cmd = new SqlCommand(query, connection);
{
    // Assign parameters. I assume that you have DateTimePickers instead
    // of text boxes.
    cmd.Parameters.AddWithValue("@startDate", datePicker1.Date);           
    cmd.Parameters.AddWithValue("@endDate", datePicker2.Date);

    using (SqlDataReader reader = cmd.ExecuteReader())
    {
        // Read all data into string builder (field name must be changed)
        StringBuilder sb = new StringBuilder();
        while (reader.Read())
          sb.Append(reader["FieldName"].ToString());

        // Assign this to label
        label1.Text = sb.ToString();
    }
}
于 2013-02-11T15:29:39.973 に答える