Как создать соединение с базой данных MySql, которое возвращает результаты в текстовый файл?



Я хочу написать инструкцию 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 SettingsanyoneMy DocumentsTeststestoutput.txt",
results.ToArray());
}
catch (MySqlException ex)
{
Console.WriteLine("Error: (0)", ex.ToString());
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}
}
}
519   3  

3 ответов:

Вы записываете в файл содержимое строки result, а не данные, которые пытаетесь выбрать. Вам нужно выполнить команду 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();

Если база данных находится на вашем локальном компьютере, вы можете использовать ' select .. в outfile". http://dev.mysql.com/doc/refman/5.1/en/select-into.html . это будет запись в папку на сервере, так что это не очень полезно, если это другая машина, и вы не можете скопировать оттуда.

Существует множество руководств для доступа к MySQL из. NET.
Это один из них: http://zetcode.com/db/mysqlcsharptutorial/

В любом языке есть несколько простых шагов для чтения из базы данных:

1. connect to the database.
2. execute a query
3. iterate through the results of the query
4. close the connection.

То, что вы делаете в своем коде, - это подключение к базе данных, а затем попытка записать информацию о подключении в файл.

Comments

    Ничего не найдено.