У меня есть, несомненно, простой вопрос, но я нигде не могу найти этот ответ. Я пишу приложение формы C # для Windows, которое содержит представление данных, которое я использую для запуска оператора SQL UPDATE в базу данных с помощью адаптера данных. Я использую параметризованный запрос, и мне нужно заполнить параметры столбцами из таблицы данных, но я не уверен, какой синтаксис использовать для представления самого столбца. Я думал, что могу использовать что-то вроде:
da.UpdateCommand.Parameters.Add("@CustomerID", SqlDbType.VarChar, 4).Value = RuleTable.Columns["CustomerID"].ToString();
но пока это не обновляет правильные записи, кажется, что каждое из этих полей заполнено словом «Данные». Это примерно то, что у меня в псевдокоде:
using (SqlDataAdapter ruleTableDA = new SqlDataAdapter("SELECT CustomerID, etc ...", con))
{
ruleTableDA.UpdateCommand = new SqlCommand("UPDATE CustomerTable SET " +
"CustomerTable.CustomerID = @CustomerID. etc ... WHERE CustomerTable.MachineID = @MachineID", con);
if (BobstPresses.SelectedIndex >= 0)
{
ruleTableDA.UpdateCommand.Parameters.Add("@CustomerID",
SqlDbType.VarChar, 4).Value = RuleTable.Columns["CustomerID"];
DataTable dt = new DataTable();
dt = RuleTable.DataSource as DataTable;
ruleTableDA.Update(dt);
}
}