C# 如何在C中执行SQL查询Exe后写入成功或失败的日志文件#

C# 如何在C中执行SQL查询Exe后写入成功或失败的日志文件#,c#,C#,我是开发初学者,我正在创建exe文件来执行SQL脚本。我有三个疑问。 1.如何在运行时从文件夹中获取文件名。(目前我是铁杆) 2.如何在执行查询后写入日志文件。 3.执行查询后如何显示警报消息?(修补程序执行成功/修补程序执行失败) 请找到下面提到的我的脚本 var txtconn = File.ReadAllText(@"C:\Users\Patch\Connstrng.txt"); var txtfile = File.ReadAllText(@"C:Users\Patch\Script.t

我是开发初学者,我正在创建exe文件来执行SQL脚本。我有三个疑问。 1.如何在运行时从文件夹中获取文件名。(目前我是铁杆) 2.如何在执行查询后写入日志文件。 3.执行查询后如何显示警报消息?(修补程序执行成功/修补程序执行失败)

请找到下面提到的我的脚本

var txtconn = File.ReadAllText(@"C:\Users\Patch\Connstrng.txt");
var txtfile = File.ReadAllText(@"C:Users\Patch\Script.txt");
string[] sqlqry = txtfile.Split(new[] {"~GO~"}, StringSplitOptions.RemoveEmptyEntries);
var conn = new SqlConnection(txtconn);
var cmd = new SqlCommand("query", conn);
conn.Open();
foreach (var query in sqlqry){
cmd.CommandText = query;
cmd.ExecuteNonQuery();}
conn.Close();
//需要将警报消息显示为“修补程序执行成功。请将结果日志发送给支持人员。”
//需要创建结果日志文件。“

您需要使用try-catch块

        foreach (var query in sqlqry)
        {
            try
            {
                cmd.CommandText = query;
                cmd.ExecuteNonQuery();
                string logPath = ""; //Path for log
                using (StreamWriter writer = new StreamWriter(logPath, true))
                {
                    writer.WriteLine("Ran query " + query); //W
                }
                System.Windows.Forms.MessageBox.Show("Patch executed successful. Please send Result Log to Support // Need to create the result log file.");
            }
            catch (Exception ex)
            {
                //Handle Error
            }
        }
您需要为要写入日志文件的位置设置路径。执行查询后,StreamWriter类将向该日志文件写入您想要的任何内容。(true参数表示您将附加到此日志文件,因此每个条目不会覆盖最后一个条目)。然后您可以使用MessageBox显示信息


因为查询的执行是在try块内运行的,如果它失败(发生某种异常)它将进入catch块,在这种情况下,您需要处理该错误,可能需要弹出另一个消息框或将某些内容记录到文件中。

是否每个查询都将被插入/更新/删除?此外,您如何决定要使用文件夹中的哪些文件?还是文件夹中的每个文件?