在存储过程中将 nvarchar 数据类型转换为 datetime 数据类型
conversion of a nvarchar data type to a datetime data type in stored procedure
当我将开始日期和结束日期的日期日期(文本框的字符串值)传递给 sql 时出现错误。
alter procedure [dbo].[sp_insert_ProjectDetail]
(@projectname varchar(max),
@projectnos varchar(20),
@Task_assigned varchar(max),
@Startdate varchar(30),
@enddate varchar(30),
@status varchar(20),
@analyst varchar(max),
@qualitycheck varchar(max)
)as
declare @value as varchar(20)
INSERT INTO tbl_ProjectDetails(ProjectName,ProjectNos,Task_assigned,Startdate,enddate,Analyst,Qualitycheck,flag,Status_Name)VALUES (@projectname,@projectnos,@Task_assigned,@Startdate,@enddate,@analyst,@qualitycheck,0,@status)
I am getting error
顶提示;始终 post 确切的错误消息 ,并且理想情况下对产生该错误的输入值进行采样;我强烈怀疑您在 1 月 13 日问这个问题并非巧合;您可能想检查昨天的数据是否记录为 12 月 1 日(以及 11 月 1 日星期日等)。然而...继续...
@Startdate varchar(30),
@enddate varchar(30),
这里的基本技巧是:不要那样做。并且当然不要只是通过对待它们来盲目地投射这些价值观 "as is"。推荐的方法是在调用层 解析值 ,因此这些值可能变为:
@Startdate datetime,
@enddate datetime,
(或类似;还有其他 date/time 数据类型;它应该匹配 table),并担心调用代码中的格式:
var start = DateTime.Parse[Exact](startText, ...); // some expected format/culture/etc
...
cmd.Parameters.AddWithValue("Startdate", start);
(等等)
当我将开始日期和结束日期的日期日期(文本框的字符串值)传递给 sql 时出现错误。
alter procedure [dbo].[sp_insert_ProjectDetail]
(@projectname varchar(max),
@projectnos varchar(20),
@Task_assigned varchar(max),
@Startdate varchar(30),
@enddate varchar(30),
@status varchar(20),
@analyst varchar(max),
@qualitycheck varchar(max)
)as
declare @value as varchar(20)
INSERT INTO tbl_ProjectDetails(ProjectName,ProjectNos,Task_assigned,Startdate,enddate,Analyst,Qualitycheck,flag,Status_Name)VALUES (@projectname,@projectnos,@Task_assigned,@Startdate,@enddate,@analyst,@qualitycheck,0,@status)
I am getting error
顶提示;始终 post 确切的错误消息 ,并且理想情况下对产生该错误的输入值进行采样;我强烈怀疑您在 1 月 13 日问这个问题并非巧合;您可能想检查昨天的数据是否记录为 12 月 1 日(以及 11 月 1 日星期日等)。然而...继续...
@Startdate varchar(30),
@enddate varchar(30),
这里的基本技巧是:不要那样做。并且当然不要只是通过对待它们来盲目地投射这些价值观 "as is"。推荐的方法是在调用层 解析值 ,因此这些值可能变为:
@Startdate datetime,
@enddate datetime,
(或类似;还有其他 date/time 数据类型;它应该匹配 table),并担心调用代码中的格式:
var start = DateTime.Parse[Exact](startText, ...); // some expected format/culture/etc
...
cmd.Parameters.AddWithValue("Startdate", start);
(等等)