sariqkhan Ответов: 3

как вставить данные в базу данных с помощью поля со списком


я просто хочу вставить данные в столбец базы данных, используя обработчик событий, например кнопку
я вставил текст текстового поля, но я не знаю о combobox
кто-нибудь может мне помочь
у меня есть свой код вставки здесь
private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\documents and settings\aquib\my documents\visual studio 2010\Projects\login\login\Database1.mdf;Integrated Security=True;User Instance=True";
            string q="insert into Table1 values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
            con.Open();
            SqlCommand cmd = new SqlCommand(q, con);
            cmd.ExecuteNonQuery();
            con.Close();
            MessageBox.Show("suceed");
        }

я просто хочу добавить сюда данные одного поля со списком, чтобы добавить их в столбец базы данных
заранее спасибо

3 Ответов

Рейтинг:
6

Sandip.Nascar

Как и для текстового поля вы получаете в txt с помощью текстового поля textbox1.Текст, в выпадающем списке, вы должны получить selectedIndex и затем получить текст

Попробовать это..

private void button1_Click(object sender, EventArgs e)
        {
            string s = "";
             if(comboBox1.SelectedIndex>=0)
                 s = comboBox1.Items[comboBox1.SelectedIndex].ToString();
            SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\documents and settings\aquib\my documents\visual studio 2010\Projects\login\login\Database1.mdf;Integrated Security=True;User Instance=True";
            string q="insert into Table1 values('"+textBox1.Text+"','"+textBox2.Text+"','"+s+"')";
            con.Open();
            SqlCommand cmd = new SqlCommand(q, con);
            cmd.ExecuteNonQuery();
            con.Close();
            MessageBox.Show("suceed");
        }


Здесь Я заменил последний параметр выбранным элементом combox.

Надеюсь, это поможет.
овации


sariqkhan

братан, мои колонки не обновляются.
но никакой ошибки в коде нет. так в чем же проблема

Sandip.Nascar

Можете ли вы отладить эти строки,

строка s = "";
if(comboBox1.SelectedIndex>=0)
s = comboBox1.Элементы[comboBox1.SelectedIndex].Метод toString();

Является ли s asigned с каким-либо значением.

овации

sariqkhan

спасибо, братан, твой код сработал.
учитывая хорошие знания
еще раз спасибо
+5

Рейтинг:
2

Wendelius

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

Что касается собственно вопроса, то вы можете воспользоваться SelectedValue[^] из выпадающего списка для извлечения значения, стоящего за выделением, взятого, что вы определили ValueMember[^]


__TR__

+5

Wendelius

Спасибо :)

Рейтинг:
2

Cheetah.syr

просто меняйтесь местами

textBox1.Text
и
comboBox1.Items[0].ToString()

где items[0] означает первое значение в ComboBox, и вы можете заменить его вторым значением items[1] ...и т.д. >> удачи


sariqkhan

спасибо братан