C# 如何在c中从SQL到datetimepicker检索日期和时间?
如果我在DB中输入一个已经输入的值,然后单击windows窗体中的按钮retrieve,那么我必须从SqlReady输入的值中检索datetimepicker1的日期和时间。 请更正我的密码。 这是我的密码C# 如何在c中从SQL到datetimepicker检索日期和时间?,c#,sql,winforms,datetimepicker,C#,Sql,Winforms,Datetimepicker,如果我在DB中输入一个已经输入的值,然后单击windows窗体中的按钮retrieve,那么我必须从SqlReady输入的值中检索datetimepicker1的日期和时间。 请更正我的密码。 这是我的密码 private void button9_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("Data Source=NIFAL;Initial Catalog=
private void button9_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=NIFAL;Initial Catalog=LaundrySystem;Integrated Security=True;");
con.Open();
str = "select * from LaundrySystemTable where laundID='" + textBox1.Text.Trim() + "'";
cmd = new SqlCommand(str, con);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
string temp1 = reader["entryDate"].ToString();
DateTime dt1 = DateTime.Parse(temp1);
dateTimePicker1.Value = dt1.ToString("MM:dd:yyyy");
reader.Close();
con.Close();
}
}
切勿使用这种易受SQL inkjection攻击的SQL,请改用参数:
using (SqlConnection con = new SqlConnection("Data Source=NIFAL;Initial Catalog=LaundrySystem;Integrated Security=True;"))
{
string sql = "select entryDate from LaundrySystemTable where laundID=@id";
var cmd = new SqlCommand( sql, con );
cmd.Parameters.AddWithValue( "@id", textBox1.Text.Trim() ); // if its type is not string, then do the conversion here
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
dateTimePicker1.Value = (DateTime?)reader["entryDate"];
}
con.Close();
}
只需删除ToString部分我如何用同样的方法检索时间?也添加时间字段。在C端,您可以将其转换为DateTime?。如果reader.Read{dateTimePicker1.Value=DateTimereader[C_Date];dateTimePicker2.Value=DateTimereader[C_Time];}指定的强制转换无效。这是我从LaundrySystemTable中选择entryDate、castC_Time作为DateTime作为[C_Time]的错误,其中laundID=@id