Akshada Sane Ответов: 2

Как добавить новый столбец с данными из первой таблицы данных во вторую таблицу данных с помощью C#


Мой текущий результат в таблице[0]
Id  |   Name    |  City
1   |  Akshada  |  Baroda
2   |  Rutu     |  Pune


Я хочу добавить приведение из таблицы[2] в таблицу[0]

Я Хочу Ниже Ответить

Id  |   Name    |  City    | Cast
1   |  Akshada  |  Baroda  | Bramhin
2   |  Rutu     |  Pune    | Rajput
3   |  Priya    |  Jaipur  | Muslim



Я хочу добавить Приведение с помощью цикла foreach


Например, проверьте мои данные в нижеприведенных таблицах
----------

Таблица[0]
Id  |   Name    |  City    
1   |  Akshada  |  Baroda  
2   |  Rutu     |  Pune    
3   |  Priya    |  Jaipur  

----------

Таблица [2]
Bramhin 
Rajput 
Muslim

----------


Что я уже пробовал:

objResult = objDataBl.Result_SelectAll_ForDisplay(intBatchId);

objResult.ResutlDs.Tables[0].Columns.Add("Cast", typeof(string));

foreach (DataRow row in objResult.ResutlDs.Tables[0].Rows)
{
     row["Cast"] = objResult.ResutlDs.Tables[2].Rows[0]["Column1"].ToString();          
} 




Используя приведенный выше код, я получил неправильный ответ
Мой ответ таков
Id  |   Name    |  City    | Cast
1   |  Akshada  |  Baroda  | Bramhin
2   |  Rutu     |  Pune    | Bramhin 
3   |  Priya    |  Jaipur  | Bramhin 

Richard Deeming

Репост
Вы уже опубликовали это сообщение:
https://www.codeproject.com/Questions/1255219/How-to-add-new-column-with-data-in-first-datatable[^]

2 Ответов

Рейтинг:
5

Akshada Sane

Thank you all for helping me i got solution using below code



objResult.ResutlDs.Tables[0].Columns.Add("Cast", typeof(string));
for (int i = 0; i < objResult.ResutlDs.Tables[0].Rows.Count; i++)
{
     objResult.ResutlDs.Tables[0].Rows[i]["Cast"] = objResult.ResutlDs.Tables[2].Rows[i]["Cast"];
}


Рейтинг:
19

OriginalGriff

Просто: прекратите использовать нулевую строку каждый раз:

row["Cast"] = objResult.ResutlDs.Tables[2].Rows[0]["Column1"].ToString();
                                                ^
                                                |
Вместо этого установите целочисленную переменную вне вашего цикла (или лучше использовать for петля вместо а foreach) и используйте это вместо постоянного значения.


Akshada Sane

for (int i = 0; i < objResult.ResutlDs.Tables[0].Rows.Граф; i++)
{
row["Denier"] = objResult.ResutlDs.Tables[2].Rows[i]["Column1"].Метод toString();
}
Использование цикла for привело к ошибке в денье "row[""]"

Ошибка : "тогда имя не существует"

OriginalGriff

:вздыхать:
Когда вы заменяете foreach на for, вы несете ответственность за создание переменной, которая раньше автоматически создавалась, охватывалась и заполнялась foreach; и заполнение ее значением ...

Akshada Sane

Было бы лучше, если бы я мог написать код и показать его мне

OriginalGriff

Да ладно тебе! Это же тривиальные вещи!

foreach (MyClass mc in MyCollection)
   {
   ...
   }

Равносильно тому, чтобы:
for (int i = 0; i < MyCollection.Count; i++)
   {
   MyClass c = MyCollection[i];
   ...
   }
Вы знаете, что!

Akshada Sane

DataRow row = objResult.ResutlDs.Tables[0].NewRow();
for (int i = 0; i < objResult.ResutlDs.Tables[0].Rows.Граф; i++)
{
row["Denier"] = objResult.ResutlDs.Tables[0].Rows[i];
}

OriginalGriff

Нет.
Посмотрите на примеры еще раз и подумайте.

Akshada Sane

спасибо за вашу помощь но я не знаю ошибаюсь Анс

foreach (строка DataRow в objResult.ResutlDs.Tables[0].Rows)
{
for (int i = 0; i < objResult.ResutlDs.Tables[0].Rows.Граф; i++)
{
row["Denier"] = objResult.ResutlDs.Tables[2].Rows[i]["Column1"].Метод toString();
}
}

OriginalGriff

Тогда перестаньте гадать и начинайте думать!

Разработка не работает по принципу "надейся и молись" - от вас ожидают, что вы будете использовать свой мозг, а не отбрасывать какой-либо старый код и надеяться на лучшее.
Com on now - вы ярче, чем это!