2

データベースに接続するMySqlステートメントを記述し、テーブルから列を選択して、そのデータをコンピューター上の特定の場所にあるテキストファイルに出力したいと思います。インターネットを数日間検索しましたが、探している答えが見つからないようです。私はc#、MySql、およびVisualStudioにかなり慣れていません。私は正しいステートメントを書き、望ましい結果を得る方法を学ぼうとしています。どんな助けでも大歓迎です。

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();
                }
            }
        }      
    }
}
4

3 に答える 3

2

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();
于 2012-09-25T19:28:21.840 に答える
1

データベースがローカルマシン上にある場合は、「select ..intooutfile」を使用できます。http://dev.mysql.com/doc/refman/5.1/en/select-into.html。これはサーバー上のフォルダーに書き込まれるため、別のマシンであり、そこからコピーできない場合は役に立ちません。

于 2012-09-25T18:23:14.980 に答える
0

.NETからMySQLにアクセスするためのチュートリアルはたくさんあります。
これは1つです: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.

コードで行っているのは、データベースに接続してから、接続情報をファイルに書き込もうとしていることです。

于 2012-09-25T18:38:16.433 に答える