我编写了以下代码,以执行放置在目录中的一组SQL Server脚本。
代码运行正常,但是我想将脚本执行结果写入文件中(就像将结果写入日志文件中一样)。请帮助。
static void Main(string[] args)
{
string ConnectionString = ConfigurationManager.ConnectionStrings["UtilsDBConnection"].ConnectionString;
string path = ConfigurationManager.AppSettings["folderPath"];
DirectoryInfo d = new DirectoryInfo(path);
FileInfo[] sqlfiles = d.GetFiles("*.sql");
SqlCommand cm;
using (SqlConnection cnn = new SqlConnection(ConnectionString))
try
{
cnn.Open();
// Console.WriteLine("Connection Open ! ");
foreach (FileInfo file in sqlfiles)
{
string script = file.OpenText().ReadToEnd();
using (cm = cnn.CreateCommand())
cm.CommandText = script;
cm.ExecuteNonQuery();
}
cnn.Close();
}
catch (Exception ex)
{
// Console.WriteLine("Can not open connection ! ", ex);
}
}
ExecuteNonQuery
用于更新,插入和删除,并返回一个整数。您可以简单地使用File.WriteAllText()
方法将其保存到文件中。
如果选择了查询,请考虑使用ExecuteReader()
方法。因此遍历响应,并为返回的每一行写一行。