Не получается обновить запись через диалоговое окно. Вот исходник:
Код | if (dds.Disks.Rows.Count > 0) { AddDiskForm addForm = new AddDiskForm(); int RecPos = this.BindingContext[dds, "Disks"].Position; addForm.textBox1.Text = dds.Disks[RecPos].Disc_Name; addForm.textBox2.Text = dds.Disks[RecPos].Disc_Have; addForm.textBox3.Text = dds.Disks[RecPos].Disc_Type; DialogResult dr = addForm.ShowDialog(); if (dr == DialogResult.OK) { dds.Disks[RecPos].Disc_Name = addForm.textBox1.Text; dds.Disks[RecPos].Disc_Have = addForm.textBox2.Text; dds.Disks[RecPos].Disc_Type = addForm.textBox3.Text; SQLCommand.CommandText = "UPDATE Disks" + Convert.ToChar(13); SQLCommand.CommandText += " SET Disc_Name = " + "'" + dds.Disks[RecPos].Disc_Name + "'" + ", " + Convert.ToChar(13); SQLCommand.CommandText += "Disc_Have = " + "'" + dds.Disks[RecPos].Disc_Have + "'" + "," + Convert.ToChar(13); SQLCommand.CommandText += "Disc_Type = " + "'" + dds.Disks[RecPos].Disc_Type + "' " + Convert.ToChar(13); SQLCommand.CommandText += "WHERE Disc_ID = " + dds.Disks[RecPos].Disc_ID; MessageBox.Show(SQLCommand.CommandText); oleDbConnection2.Open(); SQLCommand.ExecuteNonQuery(); DataTable dtAdded = dds.Disks.GetChanges(DataRowState.Modified); if (dtAdded != null) { Discs.Update(dtAdded); dtAdded.Dispose(); } dds.AcceptChanges(); oleDbConnection2.Close(); } }
|
Ну, тут можно догадаться что и зачем. В двух словах: Таблица с дисками (Имя, Наличие, Тип диска). Нужно через диалоговое окно обновлять записи. Я на C# пробую после Delphi и поэтому я привык все делать через запросы, если можно, покажите как чисто через запрос (ну, в примере есть что-то очень похожее но нерабочее). Если есть еще какие-то варианты, то тоже желательно покажите эти варианты. Спасибо заранее. |