Вставьте значения поля со списком в таблицу базы данных SQL Server Visual Basic 2010 (Visual Studio 2010) - PullRequest
0 голосов
/ 07 февраля 2012

Добрый вечер. Я хочу вставить данные в таблицу в БД SQL. У меня есть поле со значениями "5" и "6". Когда вы щелкаете одно или другое в поле со списком, я хочу, чтобы эти значения были вставлены в базу данных (MS SQL Server 2008). У меня также есть некоторые текстовые поля, которые привязаны правильно и не имеют проблем. Проблема связана с привязками (я полагаю) поля со списком. Я получаю sql исключение.

Вот фрагмент. Любая помощь будет оценена. Спасибо

Private Sub BindFields()
        txtSurname.DataBindings.Add("Text", ObjDataView, "surname")
        txtName.DataBindings.Add("Text", ObjDataView, "name")
        cboColor.DataBindings.Add(cboColor.SelectedValue.ToString, ObjDataView, "color")
End Sub

 Private Sub Customers_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     cboColor.Items.Add("5")
     cboColor.Items.Add("6")

 FillDataSetAndView()
        BindFields()
End Sub


Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

        Dim objCommand As SqlCommand = New SqlCommand()
        Dim intPosition As Integer
        intPosition = objCurrencyManager.Position

        ObjConnection.Open()
        objCommand.Connection = ObjConnection
        objCommand.CommandText = "INSERT INTO tblCustomers" & "(name, surname, color)" & "VALUES(@name,@surname,@color);"
        objCommand.Parameters.AddWithValue("@name", txtName.Text)
        objCommand.Parameters.AddWithValue("@surname", txtSurname.Text)
        objCommand.Parameters.AddWithValue("@color", cboColor.SelectedValue.ToString)
        Try
            objCommand.ExecuteNonQuery()
        Catch SqlExceptionErr As SqlException
            MessageBox.Show(SqlExceptionErr.Message)
        End Try

        ObjConnection.Close()


        FillDataSetAndView()
        BindFields()


        objCurrencyManager.Position = intPosition
        ShowPosition()
End Sub

Ответы [ 2 ]

0 голосов
/ 28 февраля 2017

Например, в C #:

if (comboBox1.SelectedItem != null)
        {
            SqlConnection con = new SqlConnection(Class1.str);
            con.Open();
            string query= "Insert Into Ex(Combo)Values ('" + comboBox1.SelectedItem + "' )";
            SqlCommand com = new SqlCommand(query, con);
            com.ExecuteNonQuery();
            con.Close();
         }
0 голосов
/ 07 февраля 2012

Проверьте cboColor.SelectedValue; он не инициализируется и не устанавливается в ничто. Попытка вызвать ToString для .SelectedValue приведет к исключению Null Reference. Я считаю, что вы хотите, это свойство cboColor.Text; он вытянет любой текущий текст с любым значением, отображаемым в данный момент списком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...