2016-11-03 4 views
2

У меня возникла проблема при вставке данных в базу данных SQL Server. Я работаю над системой управления школами. У меня есть 2 пользователя (администратор и персонал). Администратор создает/устанавливает все базовые потребности сотрудников для работы.Я не могу вставить данные в базу данных SQL Server

Здесь администратор добавляет сведения о классе. Итак, первый шаг - добавить класс, раздел и силу в базу данных STDMS_ClassDetails. Позже будут обновлены поля предметов.

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

  1. При создании вкладки класса, Admin устанавливает диапазон классов. например: класс 1 - класс 10.

  2. Затем администратор выбирает, как добавить разделы, прочность класса.

    2.i. Если он выбирает вариант 1by1, ему нужно выбрать каждый класс, класс & силы класса.

    2.ii. Если он выберет вариант группы, то сразу все вышеперечисленные классы будут иметь одинаковое количество разделов и силы класса.

Это моя база данных.

Database

& Это мой передний конец.

Front End

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

Мой код выглядит следующим образом:

Private Sub btnCCSave_Click(sender As Object, e As EventArgs) Handles btnCCSave.Click 
    If MsgBox("You are going to add new classes into your database." + vbCrLf + vbCrLf + "Are you sure?", vbInformation + vbYesNo, "Add new classes.") = vbYes Then 
     If rb_1by1.Checked = True Then 
      con.Open() 
      Try 
       Using cmd As New SqlCommand("INSERT INTO STDMS_ClassDetails(Class_ID, Section, Class_Strength) VALUES(@d1, @d2, @d3)", con) 
        With cmd 
         For i As Integer = 1 To updownTotalSections.Value 
          .Parameters.AddWithValue("@d1", Integer.Parse(cbCCClass.Text)) 
          Select Case i 
           Case 1 
            .Parameters.AddWithValue("@d2", "A") 
            Exit Select 
           Case 2 
            .Parameters.AddWithValue("@d2", "B") 
            Exit Select 
           Case 3 
            .Parameters.AddWithValue("@d2", "C") 
            Exit Select 
           Case 4 
            .Parameters.AddWithValue("@d2", "D") 
            Exit Select 
           Case 5 
            .Parameters.AddWithValue("@d2", "E") 
            Exit Select 
          End Select 
          .Parameters.AddWithValue("@d3", updownTotalStrength.Value) 
         Next 
        End With 
       End Using 
       con.Close() 
      Catch ex As Exception 
       MsgBox(ex.ToString) 
      End Try 
     ElseIf rb_Group.Checked = True Then 
      Try 
       MsgBox("try") 
       For i As Integer = updownLB.Value To updownUP.Value 
        MsgBox("for i = " + i.ToString) 
        For j As Integer = 1 To updownTotalSections.Value 
         MsgBox("for j = " + j.ToString) 
         con.Open() 
         MsgBox("con open") 
         Using cmd As New SqlCommand("INSERT INTO STDMS_ClassDetails(Class_ID, Section, Class_Strength) VALUES(@d1, @d2, @d3)", con) 
          With cmd 
           MsgBox("Ready query and cmd") 
           .Parameters.AddWithValue("@d1", i) 
           MsgBox("added first col") 
           Select Case j 
            Case 1 
             MsgBox("case1") 
             .Parameters.AddWithValue("@d2", "A") 
             MsgBox("added1") 
             Exit Select 
            Case 2 
             MsgBox("case2") 
             .Parameters.AddWithValue("@d2", "B") 
             MsgBox("added2") 
             Exit Select 
            Case 3 
             MsgBox("case3") 
             .Parameters.AddWithValue("@d2", "C") 
             MsgBox("added3") 
             Exit Select 
            Case 4 
             MsgBox("case4") 
             .Parameters.AddWithValue("@d2", "D") 
             MsgBox("added4") 
             Exit Select 
            Case 5 
             MsgBox("case5") 
             .Parameters.AddWithValue("@d2", "E") 
             MsgBox("added5") 
             Exit Select 
           End Select 
           MsgBox("out of select") 
           .Parameters.AddWithValue("@d3", updownTotalStrength.Value) 
           MsgBox("added strength") 
           con.Close() 
           MsgBox("closed") 
          End With 
         End Using 
         MsgBox("end") 

        Next 
       Next 

      Catch ex As Exception 
       MsgBox(ex.ToString) 
      End Try 
     End If 
     End If 
    End Sub 
End Class 
+2

вас никогда выполните запрос – Plutonix

+0

Ха-ха ... Мой плохой ... Спасибо –

+1

вам нужно выполнить свою команду. просто добавьте cmd.ExecuteNonQuery внутри вашего цикла (в конце). – shanyour

ответ

0

Просто добавьте следующую команду перед The ​​End Using Line

cmd.ExecuteNonQuery() 

потому, что вы построили вашу команду, но вы не выполнить его

Смежные вопросы