Я наконец-то решил одну проблему, но теперь у меня есть другая.Я узнал, как получить имя текущего поля, в котором включен мой селектор, но теперь, когда я хочу использовать для него команду обновления, они не позволят мне установить параметр.Вот какой-то код ...
private void dgv_DataLookup_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
DialogResult dr;
dr = MessageBox.Show("Are you sure you want to edit this field?", "Edit Cell", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
string myCell = dgv_DataLookup.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
string myIndex = dgv_DataLookup.CurrentCell.OwningRow.Cells[6].Value.ToString();
string myColumn = dgv_DataLookup.CurrentCell.OwningColumn.HeaderCell.Value.ToString();
myColumn.Trim();
da.UpdateCommand = new OleDbCommand("UPDATE tbl_Orders SET @myColumn = @myCell WHERE oid = @myIndex", cs);
da.UpdateCommand.Parameters.Add("@myColumn", OleDbType.VarChar).Value = myColumn;
da.UpdateCommand.Parameters.Add("@myCell", OleDbType.VarChar).Value = myCell;
da.UpdateCommand.Parameters.Add("@myIndex", OleDbType.Integer).Value = myIndex;
cs_Execute("UPDATE");
}
}
, когда я изменяю myColumn на фактический столбец, скажем itemNum, он работает нормально.Тем не менее, ошибка была Невозможно обновить '@myColumn';поле не может быть изменено
У меня также было окно сообщения, показывающее мне значение myColumn, и это было правильное значение.Мне просто интересно, если это было законно, установка параметра для параметра.Если нет, то мне просто нужно обновить все строки.Спасибо!
ps cd_Execute похож на cs.Open () da.UpdateCommand.ExecuteNonQuery () cs.Close ()