将日期时间选择器值插入SQL Server 2008
本文关键字:SQL Server 2008 插入 日期 时间 选择器 | 更新日期: 2023-09-27 18:20:31
我正试图将datetimepicker值中的一个值插入SQL Server表。
我的桌子看起来像这个
Profile (Id, Name,..., DateofBirth(date)...)
我尝试过将日期时间选择器值转换为
string dt = dateTimePicker.Value.ToString("yyyy-mm-dd hh:MM:ss");
Insert into profile (id, DateofBirth)
values(id, CONVERT(datetime, CONVERT( varchar(11), dt, 101));
也使用这个
var date = new DateTime(dateTimePickerText);
也使用这个
DateTime date = DateBox.Value.Date;
string sDate = date.ToString("dd-MM-yy", System.Globalization.CultureInfo.InvariantCulture);
DateTime dateInsert = Convert.ToDateTime(sDate);
但无法将日期插入数据库。第二,我如何从数据库中检索日期?
您必须使用SqlParameter
。
sql="Insert into profile (id, DateofBirth) values (@id,@DateofBirth)";
using(SqlCommand cmd=new SqlCommand(sql,conn))
{
cmd.Parameters.Add("@id",SqlDbType.Int).Value=10;
cmd.Parameters.Add("@DateofBirth",SqlDbType.DateTime).Value=dateTimePicker.Value;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
就我个人而言,我已经养成了为所有SQL查询使用参数的习惯。这样可以避免SQL注入攻击向量,还可以将参数类型指定为日期时间。例如,请参阅此答案。