c# - 如何创建将结果返回到文本文件的 MySql 数据库连接?

标签 c# mysql file-io

我想编写一条 MySql 语句,该语句将连接到数据库,从表中选择一列,然后将该数据输出到计算机上特定位置的文本文件中。我已经在互联网上搜索了几天,似乎没有找到我正在寻找的答案。我对 C#、MySql 和 Visual Studio 相当陌生。我只是想学习如何写出正确的陈述并获得想要的结果。任何帮助将不胜感激。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.Windows.Forms;
using System.IO;

namespace NewPractice
{
    public class Connect
    {
        static void Main()
        {
            string results = @"server=111.111.11.111; userid=anyone;
                password=anypassword; database=anydatabase";    
            MySqlConnection conn = null;

            try
            {
                conn = new MySqlConnection(results);
                conn.Open();
                //Console.WriteLine(
                File.WriteAllLines(
                    @"C:\Documents and Settings\anyone\My Documents\Tests\testoutput.txt", 
                    results.ToArray());
            }
            catch (MySqlException ex)
            {
                Console.WriteLine("Error: (0)", ex.ToString());
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                }
            }
        }      
    }
}

最佳答案

您正在将结果字符串的内容写入文件,而不是您尝试选择的数据。您需要运行 sql 命令并获取 SqlDataReader 对象以将数据写入文件。

string results = @"server=111.111.11.111; userid=anyone; 
    password=anypassword; database=anydatabase";

MySqlConnection connection = new MySqlConnection(results);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader reader;
command.CommandText = "select * from mycustomers";
connection.Open();
reader = command.ExecuteReader();
using(var sw = new StreamWriter("C:\MyPath\MyFile.txt"))
{
    while (reader.Read())
    {
        var row = (IDataRecord)reader;
        sw.WriteLine(row["myColumn"]);
    }
}
connection.Close();

关于c# - 如何创建将结果返回到文本文件的 MySql 数据库连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588835/

相关文章:

c# - 为 QueryString 压缩大约 1000 字节的文本

mysql - 在重复的 mysql 查询上插入 select

mysql - mysql - 如何按最多两列排序,这两个列在MySQL中可以为空?

MySQL - 如何删除列不包含某些值的行?

Java:如何读取文本文件

c# - 在设计时通过属性更改 Silverlight/WPF 中的内部用户控件

c# - System.Collections.Generic.List 不包含 'Select' 的定义

c++ - 使用 HDF5 lite 覆盖数据

c# - 当我使用打开文件选择器打开 RichEditBox UWP C# 的文本文件时访问被拒绝

c# - IDictionaryEnumerator 上的 Linq 查询可能吗?