2012-01-08 44 views
0

我正在使用datatable從mysql數據庫中檢索1000條記錄。我想複製每個記錄,因爲它是列表。但我不知道確切的語法。從數據表插入記錄到列表

這裏是下面的代碼,我試圖檢索:

cmdmysql.CommandText = "select * from marctest.spectrum"; 
conn.Open(); 

MySqlDataAdapter da = new MySqlDataAdapter(cmdmysql.CommandText, conn); 
//MySqlDataReader reader; 
DataTable dt = new DataTable(); 
da.Fill(dt); 

dataGridView1.DataSource = dt; 
dataGridView1.DataMember = dt.TableName; 

// row = dataGridView1.DataSource.ToString(); 
//row = dt.TableName; 
MySqlDataReader reader; 
reader = cmdmysql.ExecuteReader(); 

List<string> mylist = new List<string>(); 

foreach(DataRow row1 in dt.Rows) 
{ 
    mylist.Add(dt.Rows.ToString()); 
} 

textBox1.Text = mylist.ToString(); 

沒有任何人有關於相同的想法?這是我的實際代碼...

回答

2

我不知道做DataRow.ToString()會讓你得到任何有用的東西(很可能只是對象類型)。

如果你想從每行數據作爲字符串(?也許製表符分隔),你可以嘗試:

foreach(DataRow row1 in dt.Rows) { 
    StringBuilder sb = new StringBuilder(); 
    foreach(DataColumn col in dt.Columns) { 
     sb.Append(row1[col].ToString(); 
     sb.Append('\t'); 
    } 
    mylist.Add(sb.ToString()); 
} 

這會呱呱叫,如果你的任何列的有一個空值,你可能想要處理。

+0

thnx很多現在的工作..... – 2012-01-08 05:35:41

+0

@ nimish-deshpande:如果我的答案工作/幫助,爲什麼你切換接受的答案?另外,請隨意點擊StackOverflow上的*任何*答案(或問題)上的向上箭頭,以幫助您。 – 2012-01-08 05:39:36

+0

其實我已經習慣了這個論壇網站...因爲我對它很陌生... – 2012-01-08 05:40:41

-1

假設dt是查詢結果,而如果你只需要轉換這些結果爲字符串,那麼這應該工作:

foreach(DataRow row1 in dt.Rows) 
    mylist.Add(row1.ToString(); 
+0

我試圖與上述解決方案...但它在列表retruns System.Data.DataRow.Collection ..以下是我修改後的代碼: 列表 MYLIST =新名單(); foreach(DataRow row1 in dt.Rows) mylist.Add(dt.Rows.ToString()); } – 2012-01-08 05:01:57

+0

你能否在你的問題中提供查詢代碼,你也不應該接受我的答案,因爲它不適用於你:) – 2012-01-08 05:08:47

+0

cmdmysql.CommandText =「select * from marctest.spectrum」; conn.Open(); MySqlDataAdapter da = new MySqlDataAdapter(cmdmysql.CommandText,conn); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; dataGridView1.DataMember = dt.TableName; MySqlDataReader閱讀器; reader = cmdmysql.ExecuteReader(); – 2012-01-08 05:11:17

相關問題