2012-05-11 12 views
0

データベースからログファイルのようなテキストを作成したいと思います。各テキストはユーザーのレコードを表します。明らかに、各レコードはデータベースによって異なる名前を持っています。 そして、テキストファイルを作成するときに、文字列変数をdoubleqouteの中に入れる方法が不思議です。文字列変数を二重引用符に入れる方法は?

public static void createLog() 
{ 
    MySqlConnection con = new MySqlConnection(); 
    con.ConnectionString = "SERVER=localhost;DATABASE=s_project;UID=root;PASSWORD='';";SELECT 

    con.Open(); 
    MySqlCommand thiscommand = con.CreateCommand(); 
    thiscommand.CommandText = "SELECT user_name FROM user_info"; 
    MySqlDataReader read = thiscommand.ExecuteReader(); 

    while (read.Read()) 
    { 
     string user_name; 
     user_name = read.GetString("user_name"); 

     StreamWriter SW; 
     SW = File.CreateText("c:\\MyTextFile.txt"); //what should I put instead of MyTextFile if I would like it to be the variable user_name? 
    } 

    con.Close(); 
} 

答えて

2

+(string concat)演算子を使用できます。これは、意図が明確に表示することができます

SW = File.CreateText(String.Format("c:\\{0}.txt", user_name)); 

:あなたが必要とする複数の変数を開始した場合

SW = File.CreateText("c:\\" + user_name + ".txt"); 
+0

AVDの解答者が100%正しいですが、文字列の連結とファイルシステムを扱うとき、私は '' Path.Combine(...)を使用することをお勧めし、そんなに –

+4

、ありがとうございました。 'SW = File.CreateText(Path.Combine(" C:\\ "、user_name、" .txt "));' –

+0

@NickBabcock、回答として投稿する必要があります – Habib

1

String.Formatも動作します。

0

使用+記号

SW = File.CreateText(@"C:\" + user_name + ".txt"); 
関連する問題