поэтому я планирую создать телефонную книгу, когда я дважды щелкнул данные/ячейку в datagridview, появится вторая форма (подробная форма), которая покажет все остальные детали этого идентификатора и данные должны появляться в текстовом поле, но это не работает. так вот мой код. Спасибо!.Ошибка в привязке данных в winform C#
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
int id;
id = dataGridView1.CurrentCell.RowIndex;
Details details = new Details(id);
details.Show();
}
в детальной странице
public Details(int id)
{
InitializeComponent();
int val = id;
GetRecords(val);
}
private void GetRecords(int n)
{
SqlCommand cmd = new SqlCommand();
int id = n;
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM Employee WHERE EmployeeID ='" + id + "';";
da = new SqlDataAdapter();
da.SelectCommand = cmd;
ds = new DataSet();
da.Fill(ds, "Employee");
}
private void AddDataBinding()
{
txtLN.DataBindings.Add("Text", ds, "Employee.LastName");
txtFN.DataBindings.Add("Text", ds, "Employee.FirstName");
txtMN.DataBindings.Add("Text", ds, "Employee.MiddleName");
txtAddress.DataBindings.Add("Text", ds, "Employee.Address");
txtAge.DataBindings.Add("Text", ds, "Employee.Age");
txtLN.DataBindings.Add("Text", ds, "Employee.LastName");
txtPhone.DataBindings.Add("Text", ds, "Employee.Phone");
txtMobile.DataBindings.Add("Text", ds, "Employee.Mobile");
txtEmail.DataBindings.Add("Text", ds, "Employee.Email");
dtBirthday.DataBindings.Add("Value", ds, "Employee.Birthday");
cbType.DataBindings.Add("SelectedItem", ds, "Employee.Type");
txtName.DataBindings.Add("Text", ds, "Employee.OtherName");
txtOPhone.DataBindings.Add("Text", ds, "Employee.OtherPhone");
txtOMobile.DataBindings.Add("Text", ds, "Employee.OtherMobile");
}
Вы никогда не называют 'AddDataBinding'. Лучше научитесь использовать параметры в своих sql-запросах, чтобы избежать внедрения sql. – LarsTech
** - ** В вашем 'CellContentDoubleClick' вы передаете' RowIndex' вместо 'Id'. ** - ** В вашей подробной форме вы не назовете 'AddDataBinding' ** - ** Рассмотрите возможность использования параметризованных запросов. ** - ** Попробуйте использовать конструктор для выполнения такой привязки данных –
, каков правильный синтаксис для передачи выбранного идентификатора сотрудника? спасибо – elowearth