2012-05-11 91 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

您可以使用+(字符串concat)运算符。

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

它可以显示更清晰的意图:如果你开始需要更多的变数

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

太感谢你了, –

+4

虽然AVD回答的是100%正确的,用字符串连接,我建议使用'Path.Combine(...)'文件系统时。 'SW = File.CreateText(Path.Combine(“C:\\”,user_name,“.txt”));' –

+0

@NickBabcock,你应该将它作为答案发布 – Habib

1

String.Format也适用。

0

使用+符号

SW = File.CreateText(@"C:\" + user_name + ".txt"); 
相关问题