2016-10-27 6 views
0

로컬 데이터베이스에서 .txt로 다운로드 할 테이블을 가져 오려고합니다. 나는 솔직히 잃어 버렸습니다.C# WPF에서 MySql to WPF

다른 사용자의 편의를 위해 문자는 txt 형식이어야합니다. 몇 가지 방법을 시도해 보았습니다. 마치 작동하지 않는 DataGrid에 쓰는 것처럼 호출하려고했습니다.

나는 그래서 당기와 정보, 그냥 txt 파일로 작성하지 않을을 읽고

while (dbReader.Read()) 
       { 
        MessageBox.Show(dbReader.GetValue(0).ToString()); 
       } 

@ 리더에서 결과를 얻고있다. 여기에 코드가 있습니다.

private void btnDLSql_Click(object sender, RoutedEventArgs e) 
     { 
      string dbConnection = "datasource=127.0.0.1;port=3306;username=root;password=12345"; 
      MySqlConnection conDataBase = new MySqlConnection(dbConnection); 
      MySqlCommand SelectCommand = new MySqlCommand("select GUID,BanTime,Reason from bans.bans order by BanType asc", conDataBase); 

      conDataBase.Open(); 

      MySqlCommand command = conDataBase.CreateCommand(); 
      MySqlDataReader dbReader = SelectCommand.ExecuteReader(); 

      if (dbReader != null) 
      { 
       System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\mccla\Desktop\A3Bans.txt", true); 

       while (dbReader.Read()) 
       { 
        MessageBox.Show(dbReader.GetValue(0).ToString()); 
       } 
      } 

      conDataBase.Close(); 

     } 

도움을 주시면 감사하겠습니다. 죄송합니다. 저는 대개 혼자서 시도해 봅니다. 그러나 이것에 대한 어떤 정보도 찾을 수 없습니다.

+0

당신이'file.write가 (dbReader.GetValue (0)로 .toString()를) 퍼팅 시도 유무 :

당신은 아마 당신의 코드를 단순화 수 있을까? (또한 파일을 닫고 있습니까?) –

+1

파일을 쓰고 싶다면 실제로 파일에 내용을 넣는 코드를 작성해보십시오. – SLaks

+0

'dbReader'는 결코 'null'일 수 없습니다. – SLaks

답변

1

현재 파일에 쓰거나 끝내지 않은 상태입니다. 주석에 SLaks가 언급 한 것처럼 using 문을 사용해야합니다. `대신 메시지 상자 쇼,

 var dbConnection = "datasource=127.0.0.1;port=3306;username=root;password=12345"; 
     using (var conDataBase = new MySqlConnection(dbConnection)) 
     using (var selectCommand = new MySqlCommand("select GUID,BanTime,Reason from bans.bans order by BanType asc", conDataBase)) { 
      var dbReader = selectCommand.ExecuteReader(); 
      using (var file = new System.IO.StreamWriter(@"C:\Users\mccla\Desktop\A3Bans.txt", true)) { 
       while (dbReader.Read()) { 
        file.Write(dbReader.GetValue(0).ToString()); 
       } 
      } 
     } 
+0

감사합니다. 위의 설명에서 말했듯이 단순화하는 방법을 살펴 보겠습니다. C#은 몇 가지 작은 프로젝트 외에 실제로 들어가는 첫 번째 언어입니다. – Mokey