可能是因为你正在运行的是 Windows Forms 应用程序,而不是控制台应用程序。在 Windows Forms 应用程序中,标准输出流通常不会显示在“输出”窗口中。
以下是一些能够解决你问题的方法:
如果你希望向用户显示信息,可以使用 MessageBox
,如下所示:
MessageBox.Show($"表 {table} 中已删除 {rowsAffected} 条记录。");
如之前提到的,你可以使用一个 Label
控件在你的窗体中显示信息:
lblResult.Text += $"表 {table} 中已删除 {rowsAffected} 条记录。\n";
如果你仍然想在 Visual Studio 中查看调试输出,而不使用控制台,可以使用 Debug.WriteLine
。这将在“输出”窗口的“调试”部分显示消息:
System.Diagnostics.Debug.WriteLine($"表 {table} 中已删除 {rowsAffected} 条记录。");
确保在 Visual Studio 中选择“调试”输出选项卡,你应该能够看到输出。
请确保你在调试程序时,程序实际上是在“调试模式”下运行,而不是“发布模式”。如果你在“发布模式”下,可能会看不到调试输出。
如果你需要显示多个信息,可以使用 ListBox
控件来逐行显示:
listBoxResults.Items.Add($"表 {table} 中已删除 {rowsAffected} 条记录。");
综合以上内容,以下是一个示例代码片段,展示如何使用 Debug.WriteLine
和 Label
控件来显示删除记录的信息:
private void btnDelete_Click(object sender, EventArgs e) { string condition = txtCondition.Text; if (string.IsNullOrEmpty(condition)) { MessageBox.Show("请输入删除条件!"); return; } using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); using (SqlTransaction transaction = connection.BeginTransaction()) { try { string[] tables = { "Table1", "Table2", "Table3" }; // 替换为你的表名 lblResult.Text = ""; // 清空以前的结果 foreach (string table in tables) { string query = $"DELETE FROM {table} WHERE YourConditionColumn = @Condition"; // 替换为你的条件列 using (SqlCommand command = new SqlCommand(query, connection, transaction)) { command.Parameters.AddWithValue("@Condition", condition); int rowsAffected = command.ExecuteNonQuery(); // 使用 Debug.WriteLine 输出调试信息 System.Diagnostics.Debug.WriteLine($"表 {table} 中已删除 {rowsAffected} 条记录。"); // 更新 Label 显示删除的信息 if (rowsAffected > 0) { lblResult.Text += $"表 {table} 中已删除 {rowsAffected} 条记录。\n"; } else { lblResult.Text += $"表 {table} 中未找到符合条件的记录。\n"; } } } transaction.Commit(); MessageBox.Show("删除成功!"); } catch (Exception ex) { transaction.Rollback(); MessageBox.Show("发生错误: " + ex.Message); } } } }
通过这种方式,你可以在运行时查看删除记录的反馈。
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。