获取此错误“将数据类型varchar转换为datetime时出错” [英] Getting this error "Error converting data type varchar to datetime"

查看:601
本文介绍了获取此错误“将数据类型varchar转换为datetime时出错”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的程序

this is my procedure

Create PROC[dbo].[EventLog_Search2]
(
    @min AS DATETIME = NULL,
    @max AS DATETIME = NULL
)
AS

SELECT 
		[idx],
		[eventName],
		[userIdx],
		[description],
		[ip],
		[status],
		creationDate,
		[visible]
	FROM eventLog cc 
	
WHERE  cc.Visible = 1 and
	cc.[creationDate] >= @min AND
	cc.[creationDate] <= @max 





我执行它就像





and I am Executing it like

EXEC	[dbo].[EventLog_Search2]
	@min = '28/12/2013',
	@max = '10/03/2014'





我收到此错误

Msg 8114,Level 16,State 5,Procedure EventLog_Search2,Line 0

将数据类型varchar转换为datetime时出错。



我的值是dd / mm / yyyy格式。

i也尝试了这个< br $> b $ b



and i am getting this error
"Msg 8114, Level 16, State 5, Procedure EventLog_Search2, Line 0
Error converting data type varchar to datetime."

My value is in "dd/mm/yyyy" format.
i Also tried this

cc.[creationDate] >= convert(datetime,@min,103) AND
cc.[creationDate] <= convert(datetime,@max,103)



但是注意到发生了同样的错误



C#代码


But noting happening same error occurred

C# Code

SqlCommand cmd = new SqlCommand("EventLog_Search2", DALHelper.GetConnection());
cmd.Parameters.AddWithValue("@min", cls.min);
cmd.Parameters.AddWithValue("@max", cls.max);
SqlConnection con = cmd.Connection;
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
using (con)
{
   SqlDataReader dr = cmd.ExecuteReader();

推荐答案

因为cls.Idx和cls.TermIdx的类型错误 - 它们必须是DateTime而不是string!
Because cls.Idx and cls.TermIdx have the wrong Type - they must be DateTime instead of string!


将数据类型转换为datetime或尝试使用Code Behind页面中的 CultureInfo 参数来控制日期时间格式。
Convert your datatype to datetime or try using CultureInfo parameter in your Code Behind page to control Datetime format isuues.


CultureInfo culture = new CultureInfo(fr-FR);



DateTime dt1 = Convert.ToDateTime(txtDate1,culture);
CultureInfo culture= new CultureInfo("fr-FR");

DateTime dt1 = Convert.ToDateTime(txtDate1, culture);


这篇关于获取此错误“将数据类型varchar转换为datetime时出错”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆