如果包含转换为Char(10)的日期时间,则T-SQL Raiserror会丢失消息
好的,所以我试图在T-SQL(SQL-2000)中引发错误。基本的Sql代码看起来像这样。 。 。
declare @TmsString char(10),
@TmsLast datetime,
@UserMsg varchar(500)
select @TmsLast = getdate()
select @TmsString = ltrim(rtrim(convert(char(10), @TmsLast, 101)))
select @UserMsg = '*' + ltrim(rtrim(cast(@TmsString as char))) + '*'
raiserror (@UserMsg, 12, 1)
return
我在VS2008中管理C ++代码以捕获raiserror看起来像这样。 。 。
System::Void Sql_ExecuteQuery (SqlCommand ^ sqlCommand, DataSet ^ OutDS, String ^ TableName)
{
SqlConnection ^ sqlConnect ;
SqlDataAdapter ^ sqlDA ;
try
{
sqlDA = gcnew SqlDataAdapter () ;
sqlConnect = gcnew SqlConnection (_ConnString) ;
sqlConnect->Open () ;
sqlCommand->Connection = sqlConnect ;
sqlDA->SelectCommand = sqlCommand ;
sqlDA->Fill (OutDS, TableName) ;
}
catch (Exception ^ excp)
{
throw gcnew Exception (excp->Message->ToString()) ;
}
finally
{
sqlConnect->Close () ;
}
}
现在,我在“C ++”代码中的catch处有一个断点。如果raiserror消息将datetime包含为CHAR,则excp-> Message为空。如果我将日期时间删除为CHAR并且只发送硬编码的raiserror消息,例如“此处发生错误”,那么excp->消息已完成并填写了raiserror消息。
有没有人见过这种类型的活动?我可以在此电话的任何一方做什么。 。 。即,在SQL端或C ++端,以获取此日期时间字符串包含在raiserror消息中????
请帮忙。我卡住了!
谢谢 !
没有找到相关结果
已邀请:
1 个回复
校勒魏寡
我想你想以某种方式结合用户的消息。