2013-01-15 211 views
1

如何將列添加到數據表中並根據條件將數據添加到每行中。 這就是我要做的將列添加到數據表中並添加數據

conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0; 
           Data Source =" + Server.MapPath("App_Data\\LR Product Database 2000.mdb")); 
     conn.Open(); 

     Dictionary<string, string> items = new Dictionary<string, string>(); 
     OleDbCommand cmd = conn.CreateCommand(); 
     cmd.CommandText = "SELECT CODE, TITLE FROM tblProducts"; 

     OleDbDataReader dbread = cmd.ExecuteReader(); 

     while (dbread.Read()) 
     { 
      productCode = (string)dbread["ProductCode"]; 
      productTitle = items[productCode]; 
      items.Add(productCode, productTitle); 
     } 

     sqlCon = new SqlConnection(ConfigurationManager.ConnectionStrings["LRVWebsite"].ToString()); 
     sqlCon.Open(); 
     dsSql = new DataSet(); 
     SqlDataAdapter dba = new SqlDataAdapter(@"SELECT C.CustomerFirstName,C.CustomerLastName, C.CustomerCompany,C.CustomerPosition,C.CustomerCountry,C.CustomerProvince,C.CustomerContact,CP.ActionDate,CP.ProductCode,CP.CustomerEmail FROM tblCustomers C INNER JOIN tblCustomerProducts CP ON C.CustomerEmail = CP.CustomerEmail ORDER BY ActionDate DESC", connString); 
     dba.Fill(dsSql,"Products"); 
     DataTable dt = dsSql.Tables["Products"]; 

     foreach (DataRow dr in dt.Rows) 
     { 
      for (int i = 0; i < items.Count; i++) 
      { 
       if (dr["ProductCode"].ToString().Equals(productCode)) 
       { 
        //here I want to add a new column and add data (productTitle) to the column 


       } 
      } 

     } 

回答

3
dba.Fill(dsSql,"Products"); 
DataTable dt = dsSql.Tables["Products"]; 

dt.Columns.Add("ColumnName", typeof(DataType)); 

if (dr["ProductCode"].ToString().Equals(productCode)) 
{ 
    dr["ColumnName"] = value;  
} 

而且我將擴展代碼來避免的NullReferenceException

if (!String.IsNullOrEmpty(dr["ProductCode"]) && dr["ProductCode"].ToString().Equals(productCode)) 
{ 
     dr["ColumnName"] = value;  
} 

http://msdn.microsoft.com/en-us/library/hfx3s9wd.aspx