2010-11-29 61 views

回答

1

您的問題中有太多未知數。 Foreg,數據表是鍵入的還是未定義的?什麼是列類型?等等。

但無論如何,這裏是一個通用的例子。我從給定的原始樣品適於代碼here.

私有靜態無效ReadOrderData(串的connectionString) { 串的queryString = 「SELECT訂單ID,客戶ID FROM dbo.Orders;」;

using (SqlConnection connection = 
      new SqlConnection(connectionString)) 
{ 
    SqlCommand command = 
     new SqlCommand(queryString, connection); 
    connection.Open(); 

    SqlDataReader reader = command.ExecuteReader(); 

    // Call Read before accessing data. 
    while (reader.Read()) 
    { 
     CustomersRow newCustomersRow = Customers.NewCustomersRow(); 

     newCustomersRow.CustomerID = reader[0].ToString(); 
     newCustomersRow.CompanyName = reader[1].ToString(); 
     dt.Rows.Add(newCustomersRow); 
    } 

    // Call Close when done reading. 
    reader.Close(); 
} 

}

+3

「你的問題中有太多未知因素」 - 那麼爲什麼還要打一個答案呢?我們不應該鼓勵這樣的問題 – 2010-11-29 10:14:51

+1

我明白,但是有時候急需一個答案,而且有時候可能沒有時間詳細說明,因此,我只是想幫忙。 – 2010-11-29 10:16:31

1

請用相同DataReader的的列的DataTable oject。請看下面的代碼。

如:

DataTable _dt=new DataTable();//public 

void AddColumns() 
{ 
_dt.Columns.Add(new DataColumn("ID", typeof(int))); 
_dt.Columns.Add(new DataColumn("mark", typeof(int))); 
} 

因此,在你的數據表u有兩列[ID和標誌。

retriving數據

System.Data.SqlClient.SqlDataReader rd=cmd.Execute 
Reader(); 

寫一個函數來添加新行

public void NewRow(DataReader rd) 
{ 
    while(rd.Read()) 
    { 
    DataRow dr=_dt.NewRow(); 
    dr["ID"]=Convert.toInt32(rd["ID"]); 
    dr["Mark"]=Convert.toInt32(rd["Mark"]); 
    _dt.Rows.Add(dr) 
     } 
} 

這樣u能能值添加到數據表。

相關問題