Как удалить пустой столбец при объединении двух наборов данных? - PullRequest
0 голосов
/ 15 января 2019

Пока я объединяю буксирный набор данных ds1 и ds2, добавляем нулевой столбец после кода слияния, как показано ниже

ds1.Merge (ds2, true, MissingSchemaAction.Add);

ds1.AcceptChanges ();

этот метод не работает.

        DataSet ds1 = new DataSet();
        DataSet ds2 = new DataSet();

        SqlDataAdapter SqlDA = new SqlDataAdapter();

        SqlDA = new SqlDataAdapter("select * from tblProductInventory", myConn);
        SqlDA.Fill(ds1, "MyTable");

        SqlDA = new SqlDataAdapter("select * from tblProductCategories", myConn);
        SqlDA.Fill(ds2, "MyTable");

        //ds1.Merge(ds2);
        ds1.Merge(ds2, true, MissingSchemaAction.Add);
        ds1.AcceptChanges();


        GridView1.DataSource = ds1.Tables[0].DefaultView;
        GridView1.DataBind();

enter image description here

1 Ответ

0 голосов
/ 16 января 2019

Поскольку между двумя наборами данных нет никакой связи, необходимо добавить два столбца в ds1, как показано ниже:

ds1.Tables[0].Columns.Add("CategoryId", typeof(string));
ds1.Tables[0].Columns.Add("CategoryName", typeof(string));

тогда вы можете сделать это:

for (int temp = 0; temp < ds1.Tables[0].Rows.Count; temp++)
{
    ds1.Tables[0].Rows[temp]["CategoryId"] = ds2.Tables[0].Rows[temp]["CategoryId"];
    ds1.Tables[0].Rows[temp]["CategoryName"] = ds2.Tables[0].Rows[temp]["CategoryName"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...