将参数值从String转换为DateTime?

时间:2013-12-15 01:30:54

标签: c# asp.net sql datetime ado

我在页面中有日历,我必须获取所选日期并将其插入数据库表。

错误消息是:

 Insert : Failed to convert parameter value from a String to a DateTime.
Insert Into Bills (ClientID,Credit,PhysicianRef,Billdate,BillImage,Status) Values (@bClientID,@bCredit,@bPhysicianRef,@bBilldate,@bBillImage,@bStatus)Insert : Failed to convert parameter value from a String to a DateTime.
bBilldate 

1 个答案:

答案 0 :(得分:0)

您好需要检查sql server中的表,为每个字段定义了哪种数据类型。

然后在你的代码中使用SqlParameter类。

例如

int ClientID = Convert.ToInt32(txtClientID.text);

 yourcommandobject.Parameters.Add(new SqlParameter(@bClientID,ClientID));

同样继续其他参数。

对于datetime值,您可以这样做 使用System.Globalization命名空间添加到命名空间列表。

using System.Globalization;

Datetime Billdate = DateTime.Parse(txtDate.Text.Trim()).ToString("mm/dd/yyyy", CultureInfo.InvariantCulture);
yourcommandobject.Parameters.Add(new SqlParameter(@bBilldate,Billdate));

如果在sql server中你的BillDate列是nvarchar / vatchar或任何字符串类型数据类型,那么你可以这样做。

string tempdate = yourcalendertool.SelectedDate;// here you need to get the selected date
string Billdate = DateTime.Parse(tempdate).ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
 yourcommandobject.Parameters.Add(new SqlParameter(@bBilldate,Billdate));