我在 Internet 上找不到使用 DataTable 更改记录的充分解释。如果有人有资源链接,我将不胜感激。
当我单击一个按钮时,我需要检查 Kod_Menu 字段的 DataTable 中是否有一个条目,其中包含传递给 Button.Tag 的代码。如何正确实施?
public void Mouse_Click_Menu(object sender, RoutedEventArgs e)
{
Button B = (Button)sender;
SqlConnection conK = Util.ConnectBD.Get_KDB();
SqlCommand Cena = new SqlCommand("Select Cena from _Menu where Kod_Menu = " + B.Tag, conK);
SqlCommand Nazv = new SqlCommand("Select Nazv_Menu from _Menu where Kod_Menu = " + B.Tag, conK);
float cena = Convert.ToSingle(Cena.ExecuteScalar());
string nazv = Nazv.ExecuteScalar().ToString();
//Проверка на наличие номенклатуры в DataTable
DataRow[] row = Sostav.Select("*", "Kod_menu=" + B.Tag);//Попытка получить нужную строку, а после запустить цикл foreach
if (row != null)
{
int i = 0;//Переменная, которая должна хранить значение количества из полученной строки
i = Convert.ToInt32(row[0]["Kol"]);//преобразование
MessageBox.Show(i.ToString());//попытка проверить полученное значение
//Здесь что-то должно быть, но я уже запутался.
Sostav.Rows.Add(new object[] { kod_z, B.Tag, nazv, i+1, cena });//вместо добавления строки должно быть обновление
}
else
{
Sostav.Rows.Add(new object[] { kod_z, B.Tag, nazv, 1, cena });
}
List_Zalkaz();
}
有想法从找到的记录中获取数量值,删除该记录,然后添加一个新值。请提供帮助,至少有一些来源可以找到有关此信息的信息。我一直在寻找和搜索很长时间,没有任何工作。
结果证明解决方案非常简单。我不知道他自己如何在 Foreach 循环中设置所需的行,主要是它有效。这是代码: