【发布时间】:2016-09-23 09:50:05
【问题描述】:
如何捕获错误消息等“将数据类型 varchar 转换为日期时间时出错”
这个错误放在选择输出中
BEGIN
SET NOCOUNT ON;
begin try
UPDATE projects
SET
projectUser = @projectUser,
projectStartDate = @projectStartDate
where projectId = @projectId
SELECT 'OK'
end try
begin catch
SELECT 'ERROR - msg error'
end catch
COMMIT
END
我不需要 ==> https://postimg.org/image/u8mohtl9b/
有什么办法吗?
【问题讨论】:
-
用您正在使用的数据库标记您的问题。还显示导致代码失败的示例数据。
-
标记您正在使用的 dbms。 (看起来像产品特定代码。)
-
与其担心如何捕获错误消息,不如修复它。我可以看到您可能会引发此错误的最有可能的方式是
@projectStartDate是否作为 varchar 传递给过程/查询。只需更改参数的数据类型以匹配列的数据类型,您就解决了问题。如果您坚持使用错误的数据类型并处理错误,那么您可以使用ERROR_MESSAGE()来捕获它。 -
@jarlh SQL 2012
标签: sql stored-procedures sql-server-2012