Jus*_*808 2 c# sql asp.net sqlcommand
我在基于c#的asp.net页面上有一个SqlCommand对象.SQL和传递的参数在大多数情况下都在工作.我有一个案例不起作用,我收到以下错误:
字符串或二进制数据将被截断.该语句已终止.
我理解错误,但数据库中的所有列都应足够长,以容纳所有发送的内容.
我的问题,
有没有办法看到发送到数据库的实际SQL是从SqlCommand对象?我希望能够在发生错误时通过电子邮件发送SQL.
谢谢,贾斯汀
虽然你无法插入像Enterprise Manager这样的东西来运行它可以用于日志记录.
public static string ToReadableString(this IDbCommand command)
{
StringBuilder builder = new StringBuilder();
if (command.CommandType == CommandType.StoredProcedure)
builder.AppendLine("Stored procedure: " + command.CommandText);
else
builder.AppendLine("Sql command: " + command.CommandText);
if (command.Parameters.Count > 0)
builder.AppendLine("With the following parameters.");
foreach (IDataParameter param in command.Parameters)
{
builder.AppendFormat(
" Paramater {0}: {1}",
param.ParameterName,
(param.Value == null ?
"NULL" : param.Value.ToString())).AppendLine();
}
return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5795 次 |
| 最近记录: |