santosh kumar setty Ответов: 2

C# ADO.NET winformms


данные должны автоматически предлагаться из представления сетки в текстовые поля.
1. у меня есть 2 текстовых поля и сетка.. на winform...я ввожу данные в текстовые поля..эти данные должны отображаться на сетке..
2. данные в сетке автоматически предлагаются в текстовых полях...

Что я уже пробовал:

я не знаю, погода это правильно или неправильно..



SqlCommand cmd = new SqlCommand();
cmd.CommandText = "insert into studetail values('" + textBox1.Text + "','" + textBox2.Text + "','" + gen + "','" + textBox3.Text + "','" + clas + "','" + section + "')";

cmd.Connection = cn;

Richard MacCutchan

Это неправильно. Вы никогда не должны использовать конкатенацию строк для создания SQL-команд, так как она оставляет вашу базу данных открытой для SQL-инъекций и потери всех ваших данных. Вы также используете данные из текстовых полей без проверки, чтобы пользователь мог разместить в них любой мусор. Используйте правильные параметризованные запросы и сначала проверяйте вводимые пользователем данные.

2 Ответов

Рейтинг:
2

RickZeeland

Смотрите ответ здесь: Как реализовать автозаполнение в текстовых полях n C#[^]
Поскольку вы хотите использовать значения, разделенные запятыми, вам придется использовать string.Split() функция для создания AutoCompleteStringCollection.


Рейтинг:
0

OriginalGriff

Неправильный. Очень неправильно.
Никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.

И этот SQL-код вообще не имеет никакого отношения к автозаполнению - он всегда добавляет новую строку в БД, которую вы определенно не хотите, пока пользователь вводит свои данные...

Решите, с какой средой вы работаете, какие элементы управления вы хотите использовать, и Google для них плюс "автозаполнение" - вы должны найти множество ресурсов, чтобы начать работу, и если вы застряли с этого момента, вернитесь к нам с конкретным вопросом - мы здесь не для того, чтобы отвечать на общие запросы, которые лучше покрываются изначально Google!