2011-05-23 78 views
0

我米试图将日期从jQuery的保存到MySQL的保存日期到MySQL * *的DatePicker从C#问题从asp.net

string datetime = txtDate.Text + " " + time;//05/11/2011 5:30 pm      

string getSQL1 = 
    "INSERT into tblconcertdetail 
    (Address, City, Pincode, Country, Concert_Date) 
    VALUES ('" + addr + "','" + txtCCity.Text + "','" + txtCpincode.Text + "','" + 
    ddlCCountry.SelectedItem.Text + "','" + Convert.DateTime(datetime) + "')"; 

这里getsql1显示我填日期字段,但在数据库中它存储0000-00-00 00:00值。 我不明白为什么它是如此。

我也试试convert.ToString(datetime)来。

+4

Woa。这很容易发生SQL注入。切勿通过拼接文本来构建查询。改用参数。 – 2011-05-23 05:37:43

+1

在防止SQL注入攻击的同时使用参数,也使得代码更具可读性,至少对我而言是如此。我可以一眼看到传递的参数,它们的值和可选的数据类型。这是一篇关于参数的好文章。 http://www.java2s.com/Code/CSharp/Database-ADO.net/RunanINSERTstatementwithparameters.htm – 2011-05-23 05:40:35

回答

0

正如在评论中提到,你必须使用的参数有两个原因:

  1. 防止SQL注入。
  2. 处理数据类型转换。在你的情况下,处理.NET DateTime类型为其在数据库中的等效值。