2011-05-05 42 views
0

你好 我使用datetime数据类型的SQL服务器,但每当我保存这个形式我得到这个错误“字符串未被识别为有效的DateTime “。在我的代码中,我使用文本框上的ajax代码来选择日期。但同样的错误,我越来越。我将它指定为日期格式,但仍然会出错。我们现在在干什么。如何解决这个错误“字符串未被识别为有效的DateTime”

+2

你应该提供一些更多的信息,如更多的错误信息,以便它possile以确定它是否来自于数据库或代码准备数据数据库调用,也许还有一些代码,以便我们可以看到数据是如何处理的。在数据到达数据库之前,数据可能会在日期和字符串之间来回转换数次。 – Guffa 2011-05-05 07:27:00

回答

0

尝试格式:

DateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); 
0

您可以使用此VB代码,将其转换:

dataandtimevarible.Value.ToString("dd-MM-yyyy")

你需要格式= “DD-MM-YYYY” 添加到您的标记代码并将其添加到您的标记代码

<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" Format="dd-MM-yyyy" TargetControlID="CreatedOnTextBox"> </ajaxToolkit:CalendarExtender>

你必须从文化语言确定最后一件事!

+0

我仍然得到相同的错误...... – user739266 2011-05-05 08:33:47

+0

mmmmm。好 。 你的语言是什么? 我以前有过这个问题,因为语言是阿拉伯语。 – HAJJAJ 2011-05-05 09:29:51

+0

嗨,终于我得到了解决方案,我在哪里采取datetime数据类型的地方,我把nvarchar数据类型到我的code.but在sql服务器,我把datetime数据类型..... – user739266 2011-05-05 10:28:25

0

你如何将数据保存到数据库中?你在使用parameters吗?如果没有,则使用参数 - 保存日期/时间值,选择您的参数数据类型为DbType.DateTime

现在,您的文本框会给您一个字符串值,您需要在分配给参数之前将其转换为日期/时间数据类型。使用DateTime.ParseExact方法与你的具体日期格式 - 比如,

var param = new SqlParameter("MyDateColumn"); 
param.DbType = DbType.DateTime; 
param.Value = DateTime.ParseExact(textbox1.Text, "dd-MM-yyyy", null); 
相关问题