从C#控制台应用程序执行SQL查询,并将结果写入文件中

问题描述 投票:-1回答:1

我编写了以下代码,以执行放置在目录中的一组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);
    }
}
c# sql-server
1个回答
0
投票

ExecuteNonQuery用于更新,插入和删除,并返回一个整数。您可以简单地使用File.WriteAllText()方法将其保存到文件中。

如果选择了查询,请考虑使用ExecuteReader()方法。因此遍历响应,并为返回的每一行写一行。

© www.soinside.com 2019 - 2024. All rights reserved.