将SQL数据导入Label而不是DataGrid

时间:2013-02-11 15:12:55

标签: c# asp.net sql label

我有以下查询

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')

标签应显示所有可用的房间及其详细信息。我可以在标签控件上显示表格字段数据

1 个答案:

答案 0 :(得分: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();
    }
}