MySql 到 C# WPF 中的 .text

MySql to .txt in C# WPF

我正在尝试从我的本地数据库中获取 table 以下载到 .txt。老实说,我很茫然。

为了其他用户的简单起见,它必须在 txt 中。我尝试了几种不同的方法,我试过调用它,就像我将它写入数据网格一样,但没有用。

我正在从 Reader @

获取结果
while (dbReader.Read())
                {
                    MessageBox.Show(dbReader.GetValue(0).ToString());
                }

所以它是在拉取和读取信息,而不是将其写入 txt 文件。这是代码。

 private void btnDLSql_Click(object sender, RoutedEventArgs e)
        {
            string dbConnection = "datasource=127.0.0.1;port=3306;username=root;password=12345";
            MySqlConnection conDataBase = new MySqlConnection(dbConnection);
            MySqlCommand SelectCommand = new MySqlCommand("select GUID,BanTime,Reason from bans.bans order by BanType asc", conDataBase);

            conDataBase.Open();

            MySqlCommand command = conDataBase.CreateCommand();
            MySqlDataReader dbReader = SelectCommand.ExecuteReader();

            if (dbReader != null)
            {
                System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\mccla\Desktop\A3Bans.txt", true);

                while (dbReader.Read())
                {
                    MessageBox.Show(dbReader.GetValue(0).ToString());
                }
            }

            conDataBase.Close();

        }

如有任何帮助,我们将不胜感激。抱歉提出问题,我通常会尝试自己解决问题。但是就是找不到这方面的任何信息。

您目前没有写入文件或在完成后关闭文件。正如 SLaks 在评论中提到的,您还应该使用 using 语句。

您可以将代码简化为:

        var dbConnection = "datasource=127.0.0.1;port=3306;username=root;password=12345";
        using (var conDataBase = new MySqlConnection(dbConnection))
        using (var selectCommand = new MySqlCommand("select GUID,BanTime,Reason from bans.bans order by BanType asc", conDataBase)) {
            var dbReader = selectCommand.ExecuteReader();
            using (var file = new System.IO.StreamWriter(@"C:\Users\mccla\Desktop\A3Bans.txt", true)) {
                while (dbReader.Read()) {
                    file.Write(dbReader.GetValue(0).ToString());
                }
            }
        }