从代码运行存储过程时,将 varchar 转换为 datetime 时出错

伊万-马克·德博诺

在我的 C# 应用程序中,我使用 Dapper 调用存储过程:

return conn.Query<MyList>("check_data", new { dataToCheck }, commandType: CommandType.StoredProcedure);

dataToCheck是 aDataTable因为check_data接受 a TVP此表类型有 2 列(from_date varchar(20)、to_date varchar(20))并且基于以下类。

public class DataToCheckType
{
    public DateTime? from_date {get; set;}
    public DateTime? to_date {get; set;}
}

Dapper 然后将以下内容发送到 SQL Server:

declare @p1 dbo.CheckDataType
insert into @p1 values('2017-04-19 00:00:00','2017-04-19 00:00:00')

exec check_data @dataToCheck=@p1

SP 本身很简单。它调用一个构建 SQL 语句的函数,然后执行该语句:

DECLARE @sql nvarchar(max) = dbo.GetSql(@dataToCheck);

DECLARE @results TABLE (Id int);
INSERT INTO @results EXECUTE(@sql);

GetSql函数是这样开始的:

DECLARE @fromDate datetime;
DECLARE @toDate datetime;

SELECT 
    @fromDate = CONVERT(datetime, from_date, 120),
    @toDate = CONVERT(datetime, to_date, 120),
FROM 
    @dataToCheck;

它继续按预期构建 SQL 语句。运行SPfrom 时T-SQL一切正常。

但是,从代码运行相同的代码时,我收到以下错误:

check_data : 241 从字符串转换日期和/或时间时转换失败

为什么 SP 可以在 T-SQL 中工作,但在从代码中调用它时却不能工作?日期有什么问题?

伊万-马克·德博诺

这个问题是由更改表类型的列解varchar(20)date

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将varchar转换为datetime时出错

来自分类Dev

SQL Server存储过程-将数据类型varchar转换为datetime时出错

来自分类Dev

在SQL中将varchar转换为datetime时出错

来自分类Dev

将 varchar 转换为 datetime 时转换失败

来自分类Dev

将varchar转换为bigint时出错

来自分类Dev

从 varchar 转换为数字时出错

来自分类Dev

将VARCHAR转换为DATETIME时为NULL

来自分类Dev

将varchar转换为datetime

来自分类Dev

将float转换为datetime时出错

来自分类Dev

存储过程-将数据类型varchar转换为float时出错

来自分类Dev

将数据类型varchar转换为int时出错(存储过程C#ASP.NET)

来自分类Dev

存储过程-将数据类型varchar转换为数值时出错

来自分类Dev

将varchar中的datetime转换为datetime

来自分类Dev

调用存储过程错误:将数据类型nvarchar转换为datetime时出错

来自分类Dev

将varchar转换为float asp.net时出错

来自分类Dev

将varchar转换为日期ddmmyyyy时出错

来自分类Dev

将数据类型从varchar转换为数值时出错

来自分类Dev

SQL:将varchar转换为int时出错

来自分类Dev

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

来自分类Dev

在存储过程中将数据类型varchar转换为bigint时出错

来自分类Dev

在存储过程中将varchar转换为数字时出错

来自分类Dev

在存储过程中将数据类型varchar转换为bigint时出错

来自分类Dev

将数据类型varchar转换为varbinary时出错。转换为整数时的MSSQL

来自分类Dev

在动态sql查询中将varchar转换为数字时出错

来自分类Dev

将varchar转换为datetime并添加秒

来自分类Dev

将datetime转换为varchar从MSSQL转换为MYSQL

来自分类Dev

将date(varchar)和time(varchar)转换为datetime Oracle

来自分类Dev

CAST(somenumber as VARCHAR(10))+ somestring返回将数据类型varchar转换为数值时出错

来自分类Dev

使用子字符串转换将数据类型varchar转换为数值时出错

Related 相关文章

  1. 1

    将varchar转换为datetime时出错

  2. 2

    SQL Server存储过程-将数据类型varchar转换为datetime时出错

  3. 3

    在SQL中将varchar转换为datetime时出错

  4. 4

    将 varchar 转换为 datetime 时转换失败

  5. 5

    将varchar转换为bigint时出错

  6. 6

    从 varchar 转换为数字时出错

  7. 7

    将VARCHAR转换为DATETIME时为NULL

  8. 8

    将varchar转换为datetime

  9. 9

    将float转换为datetime时出错

  10. 10

    存储过程-将数据类型varchar转换为float时出错

  11. 11

    将数据类型varchar转换为int时出错(存储过程C#ASP.NET)

  12. 12

    存储过程-将数据类型varchar转换为数值时出错

  13. 13

    将varchar中的datetime转换为datetime

  14. 14

    调用存储过程错误:将数据类型nvarchar转换为datetime时出错

  15. 15

    将varchar转换为float asp.net时出错

  16. 16

    将varchar转换为日期ddmmyyyy时出错

  17. 17

    将数据类型从varchar转换为数值时出错

  18. 18

    SQL:将varchar转换为int时出错

  19. 19

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

  20. 20

    在存储过程中将数据类型varchar转换为bigint时出错

  21. 21

    在存储过程中将varchar转换为数字时出错

  22. 22

    在存储过程中将数据类型varchar转换为bigint时出错

  23. 23

    将数据类型varchar转换为varbinary时出错。转换为整数时的MSSQL

  24. 24

    在动态sql查询中将varchar转换为数字时出错

  25. 25

    将varchar转换为datetime并添加秒

  26. 26

    将datetime转换为varchar从MSSQL转换为MYSQL

  27. 27

    将date(varchar)和time(varchar)转换为datetime Oracle

  28. 28

    CAST(somenumber as VARCHAR(10))+ somestring返回将数据类型varchar转换为数值时出错

  29. 29

    使用子字符串转换将数据类型varchar转换为数值时出错

热门标签

归档