Asp.net 根据详细信息从数据库中提取数据

Asp.net 根据详细信息从数据库中提取数据,asp.net,Asp.net,我想在dropdownlist中显示所选日期的显示时间 始终使用sql参数而不是字符串连接来防止sql注入 我猜您还有第二个下拉列表,应该从第一个开始填写: string date = ddlShowDates.SelectedValue.ToString(); cmd = new SqlCommand("SELECT tbl_Shows.ShowTime FROM tbl_Shows INNER JOIN tbl_MovieTimings ON tbl_Shows.ShowId = tbl_

我想在dropdownlist中显示所选日期的显示时间

始终使用sql参数而不是字符串连接来防止sql注入

我猜您还有第二个
下拉列表
,应该从第一个开始填写:

string date = ddlShowDates.SelectedValue.ToString(); 
cmd = new SqlCommand("SELECT tbl_Shows.ShowTime FROM tbl_Shows INNER JOIN tbl_MovieTimings ON tbl_Shows.ShowId = tbl_MovieTimings.ShowId WHERE tbl_MovieTimings.Date='" + date + "'", con);

timeDropDwonList.Items.Add(rd.GetDateTime(0.ToString());给定错误“指定的强制转换无效”。@user2220144:那么列的类型是什么
ShowTime
?列ShowTime的数据类型是time(7)DateTime time=rd.GetDateTime(0);Give errors“指定的强制转换无效”。您提供的代码运行良好…请继续
DateTime date = DateTime.Parse(ddlShowDates.SelectedValue);
string sql = @"SELECT tbl_Shows.ShowTime 
               FROM tbl_Shows 
               INNER JOIN tbl_MovieTimings 
                   ON tbl_Shows.ShowId = tbl_MovieTimings.ShowId
               WHERE tbl_MovieTimings.Date=@Date";
using(var con = new SqlConnection("ConnectionString"))
using(var cmd = new SqlCommand(sql, con))
{
    cmd.Parameters.Add("@Date", SqlDbType.Date).Value = date;
    con.Open();
    using(var rd = cmd.ExecuteReader())
    {
       while(rd.Read())
       {
           TimeSpan time = rd.GetTimeSpan(0); 
           timeDropDownList.Items.Add(time.ToString());// change format as desired in TimeSpan.ToString
       }
    }
}