Код | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace Login { public partial class SpravOtdel : Form { public SpravOtdel() { InitializeComponent(); LoadData(); } SqlConnection con; public void LoadData() { // блок подключения(ip) con = new SqlConnection(DB.ConnectionString); con.Open(); dataGridView1.Rows.Clear(); string query = "SELECT OtdelName From SpravOtdel ORDER BY OtdelName"; SqlCommand command = new SqlCommand(query, con); SqlDataReader reader = command.ExecuteReader(); List<string[]> data = new List<string[]>();
while (reader.Read()) { data.Add(new string[1]); data[data.Count - 1][0] = reader[0].ToString(); } reader.Close();
con.Close();
foreach (string[] s in data) dataGridView1.Rows.Add(s); }
private void button1_Click(object sender, EventArgs e) { { AddOtdel добавить1 = new AddOtdel(this); добавить1.ShowDialog(); } }
private async void button3_Click(object sender, EventArgs e) { if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { // блок подключения(ip) con = new SqlConnection(DB.ConnectionString); con.Open(); // Заготовка Sql-предложения Delete SqlCommand command = new SqlCommand(@"DELETE FROM [SpravOtdel] WHERE (OtdelName)=(@OtdelName)", con); // Формируем запрос на удаление данных command.Parameters.AddWithValue("OtdelName", dataGridView1.CurrentRow.Cells[1].Value); // Выполняем команду на удаление записи await command.ExecuteNonQueryAsync(); } else // Выводим сообщение { MessageBox.Show("Запись успешно удалена", "Удаление", MessageBoxButtons.OK, MessageBoxIcon.Information); LoadData(); } } } }
|
// Заготовка Sql-предложения Delete SqlCommand command = new SqlCommand(@"DELETE FROM [SpravOtdel] WHERE (OtdelName)=(@OtdelName)", con); // Формируем запрос на удаление данных command.Parameters.AddWithValue("OtdelName", dataGridView1.CurrentRow.Cells[1].Value); Красным выделил на что идет ошибка. Datagrid заполняется через LoadData, tableadapter и bindingsource не используются Как мне исправить код чтобы текущая строка удалялась из грида и бд microsoft sql server? |