2

データテーブルに列を追加し、条件に基づいて各行にデータを追加するにはどうすればよいですか? これが私がやろうとしていることです

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


                }
            }

        }
4

1 に答える 1

4
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

于 2013-01-15T11:05:17.033 に答える