保存日期字符串在asp.net中的SQL Server日期类型的列(vb.net) [英] Saving Date string to SQL Server date type column in asp.net (vb.net)
问题描述
我在vb.net和asp.net初学者。我有保存日期,这是从DevEx preSS控制日期选择器未来的字符串值的问题。
I am a beginner in vb.net and asp.net. I am having a problem saving the date, which is a string value coming from the DevExpress datepicker control.
列名是 expiryDate
,其类型为日期
。
下面是我的ASPX标记:
Here is my ASPX markup :
<tr>
<td nowrap="nowrap" class="label" align="right" valign="top" style="width: 10%">
Expiry Date
</td>
<td style="width: 40%" valign="top">
<dxe:ASPxDateEdit ID="expiryDate"
runat="server"
EditFormat="Date"
Date="13/06/2014"
Width="200">
</dxe:ASPxDateEdit>
</td>
</tr>
和落后于C#code:
And in C# code behind :
sqlSave = "INSERT INTO [Product] (Title, expiryDate) VALUES ("
sqlSave += " '" & txtProductName.Text.Trim().Replace("'", "''") & "', "
sqlSave += "" & expiryDate.Text & " )"
我使用 expiryDate.Text
在数据库中保存,但保存文件的日期是:1900-01-01有时我得到的消息操作数类型冲突:INT与日期不符
I am using expiryDate.Text
to save in the database but the date saved is: 1900-01-01 and sometime i get message Operand type clash: int is incompatible with date
.
我不知道如何解决这个问题,请大家帮帮忙?
I don't know how to fix this issue, please help?
推荐答案
试试这个样子,
sqlSave = "INSERT INTO [Product] (Title, expiryDate) VALUES ("
sqlSave += " '" & txtProductName.Text.Trim().Replace("'", "''") & "', "
sqlSave += "'" & Convert.ToDateTime(expiryDate.Text).ToString("yyyy-MM-dd") & "' )"
不过,我想建议你使用参数化查询,而不是简单的连接字符串。
But, I would like to suggest you to use parameterized query instead of simple concatenated string.
cmd.CommandText = "INSERT INTO [Product] (Title, expiryDate) VALUES (@Title,@expiryDate)";
cmd.Parameters.Add("@Title", SqlDbType.VarChar).Value = txtProductName.Text.Trim().Replace("'", "''");
cmd.Parameters.Add("@expiryDate", SqlDbType.DateTime).Value = Convert.ToDateTime(expiryDate.Text);
这篇关于保存日期字符串在asp.net中的SQL Server日期类型的列(vb.net)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!