我试图从我的本地数据库下载到。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:UsersmcclaDesktopA3Bans.txt", true);
while (dbReader.Read())
{
MessageBox.Show(dbReader.GetValue(0).ToString());
}
}
conDataBase.Close();
}
任何帮助都将非常感激。抱歉问你这些问题,我通常自己想办法解决问题。
您当前没有写入文件或在完成后关闭它。您还应该使用using
语句,正如SLaks在评论中提到的那样。
您可以将代码简化为:
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:UsersmcclaDesktopA3Bans.txt", true)) {
while (dbReader.Read()) {
file.Write(dbReader.GetValue(0).ToString());
}
}
}