Ani*_*mar 4 c# command capture executenonquery output
我想使用Database.ExecuteNonQuery或类似的东西来执行sql脚本,然后捕获输出.
例如:xxx表创建
我的剧本:
strArray = Regex.Split(streamReader.ReadToEnd(), "\r\nGO");
if (connection.State == ConnectionState.Open)
{
System.Data.SqlClient.SqlCommand cmd;
foreach (string sql in strArray)
{
cmd = new System.Data.SqlClient.SqlCommand(sql);
cmd.Connection = connection;
Console.WriteLine(sql);
Console.WriteLine(cmd.ExecuteNonQuery().ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,我认为你的意思是检索发出sql命令所产生的"信息性消息".我没试过,但我认为"打印报表"的结果是以同样的方式处理的.在这种情况下,您需要向sql连接对象添加信息事件处理程序.
请参阅此文章,其中介绍了如何执行此操作.
很简单(从aticle抓起的片段)
myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);
void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
myStringBuilderDefinedAsClassVariable.AppendLine(e.Message);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6878 次 |
| 最近记录: |