Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 转换为smalldatetime sql_C#_Sql_Sql Server_Datetime - Fatal编程技术网

C# 转换为smalldatetime sql

C# 转换为smalldatetime sql,c#,sql,sql-server,datetime,C#,Sql,Sql Server,Datetime,我试图找到一些与几个变量匹配的记录,它们是日期 但我得到了这个错误: 将字符串转换为smalldatetime数据类型时,转换失败 从我的sql脚本 ALTER PROCEDURE GetByTravelDates ( @date_start as varchar, @date_end as varchar ) AS select * from holiday_a hr inner join holiday_b hw on hr.holiday_id=hw.id where date_st

我试图找到一些与几个变量匹配的记录,它们是日期

但我得到了这个错误: 将字符串转换为smalldatetime数据类型时,转换失败

从我的sql脚本

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar,
@date_end   as varchar
)
AS

select * from holiday_a hr
inner join holiday_b hw on
hr.holiday_id=hw.id
where date_start=CONVERT(SMALLDATETIME,@date_start,101) and date_end=CONVERT(SMALLDATETIME,@date_end,101)
然后从c#control向SP发布:

string date = "24 Jan 2014";
string date2 = "29 Jan 2014";
数据库中的格式如下所示: 2014-01-24 00:00:00

年月日


谢谢

将varchar的大小定义为:

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar(15),
@date_end   as varchar(15)
)

如果存在错误,则检查开始日期的数据类型。

将varchar的大小定义为:

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar(15),
@date_end   as varchar(15)
)

如果存在错误,则检查开始日期的数据类型。

将varchar的大小定义为:

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar(15),
@date_end   as varchar(15)
)

如果存在错误,则检查开始日期的数据类型。

将varchar的大小定义为:

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar(15),
@date_end   as varchar(15)
)

如果存在错误,请检查开始日期的数据类型。

从更改SP参数

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar,
@date_end   as varchar
)
AS


从更改SP参数

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar,
@date_end   as varchar
)
AS


从更改SP参数

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar,
@date_end   as varchar
)
AS


从更改SP参数

ALTER PROCEDURE GetByTravelDates
(
@date_start as varchar,
@date_end   as varchar
)
AS



您能否解释一下,如果您有datetime字段,为什么要传递字符串并尝试在SQL过程中转换它们?从一开始就好像是错的。将您的过程更改为需要两个smalldatetime,并从C#代码中传递两个datetime—您不应该将日期存储为字符串—这样做只是自找麻烦。使用
DATE
DATETIME
数据类型!您能否解释一下,如果您有datetime字段,为什么要传递字符串并尝试在SQL过程中转换它们?从一开始就好像是错的。将您的过程更改为需要两个smalldatetime,并从C#代码中传递两个datetime—您不应该将日期存储为字符串—这样做只是自找麻烦。使用
DATE
DATETIME
数据类型!您能否解释一下,如果您有datetime字段,为什么要传递字符串并尝试在SQL过程中转换它们?从一开始就好像是错的。将您的过程更改为需要两个smalldatetime,并从C#代码中传递两个datetime—您不应该将日期存储为字符串—这样做只是自找麻烦。使用
DATE
DATETIME
数据类型!您能否解释一下,如果您有datetime字段,为什么要传递字符串并尝试在SQL过程中转换它们?从一开始就好像是错的。将您的过程更改为需要两个smalldatetime,并从C#代码中传递两个datetime—您不应该将日期存储为字符串—这样做只是自找麻烦。使用
DATE
DATETIME
数据类型!是的,但是为什么?解释为什么声明大小应该有效是的,但是为什么?解释为什么声明大小应该有效是的,但是为什么?解释为什么声明大小应该有效是的,但是为什么?解释为什么声明大小应该有效是的,但是为什么?解释为什么应该声明大小work@Steve:因为如果声明varchar类型的变量而不指定长度,则默认长度为1,这是完成回答的原因;或者更好:如果这些是日期-使用适当的数据类型,如
DATE
DATETIME/DATETIME2(n)
SMALLDATETIME
而不是一个字符串!是的,但是为什么?解释为什么应该声明大小work@Steve:因为如果声明varchar类型的变量而不指定长度,则默认长度为1,这是完成回答的原因;或者更好:如果这些是日期-使用适当的数据类型,如
DATE
DATETIME/DATETIME2(n)
SMALLDATETIME
而不是一个字符串!是的,但是为什么?解释为什么应该声明大小work@Steve:因为如果声明varchar类型的变量而不指定长度,则默认长度为1,这是完成回答的原因;或者更好:如果这些是日期-使用适当的数据类型,如
DATE
DATETIME/DATETIME2(n)
SMALLDATETIME
而不是一个字符串!是的,但是为什么?解释为什么应该声明大小work@Steve:因为如果声明varchar类型的变量而不指定长度,则默认长度为1,这是完成回答的原因;或者更好:如果这些是日期-使用适当的数据类型,如
DATE
DATETIME/DATETIME2(n)
SMALLDATETIME
而不是一个字符串!