2012-05-30 3 views
0

Может ли кто-нибудь мне помочь У меня есть форма, с помощью которой я сохраняю дату в базе данных доступа MS. несколько раз я нажимаю кнопку сохранения, данные сохраняются правильно, но иногда это дает мне ошибку «переполнение» «ExecuteNonQuery» не объявляется. Он может быть недоступен из-за его уровня защиты. Я использую этот код:Ошибка переполнения при нажатии кнопки для сохранения данных при доступе

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    If MsgBox("Are you sure you want to Add Data?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "WARNING") = MsgBoxResult.Yes Then 
     Dim OleDBC As New OleDbCommand 
     With OleDBC 

      .Connection = conn 
      .CommandText = "Insert Into tblmaritlistBA_I (form_number,name_of_candidate,fathers_name,mothers_name,category,minority,date_of_birth,gender,mobile,address,board,passed_year,intermediate_marks_obtained,intermediate_total_marks,percentage,normalization_factor,total_percentage) VALUES ('" & txtformnumber.Text & "','" & txtstuname.Text & "','" & txtfathname.Text & "','" & txtmothname.Text & "','" & cmbcategory.Text & "','" & cmbminority.Text & "','" & dobPicker1.Text & "','" & cmbgender.Text & "','" & txtmobile.Text & "','" & txtaddress.Text & "','" & cmbboard.Text & "','" & cmbpassedyear.Text & "','" & txtintermarks.Text & "','" & txtintertotalmarks.Text & "','" & txtpercentage.Text & "','" & Lblnormalization.Text & "','" & txtpercentageafterN.Text & "')" 
      .ExecuteNonQuery() 
     End With 
     MsgBox("Data Added!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "SUCCESS") 
     Me.Hide() 

     Call initgrid() 
    End If 
End Sub 

любезно помочь мне («_»)

ответ

1

В соответствии с вашим кодом, вы никогда не открыл подключение к базе данных.

Вы установили conn как соединение объекта Command, но вы никогда не создавали его и не открывали.

См. Приведенный ниже код. Создается объект Connection (введите свою собственную строку подключения), затем он открывается.

В самом конце, что соединение должно быть закрыто в Finally блоке, так что мы закрываем его даже на ошибки

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 

    Dim conn As OleDbConnection 
    Try 
     If MsgBox("Are you sure you want to Add Data?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "WARNING") = MsgBoxResult.Yes Then 

      conn = New OleDbConnection("YOUR_CONNECTIONSTRING_HERE") 
      conn.Open() 

      Dim OleDBC As New OleDbCommand 

      With OleDBC 
       .Connection = conn 
       .CommandText = "Insert Into tblmaritlistBA_I (form_number,name_of_candidate,fathers_name,mothers_name,category,minority,date_of_birth,gender,mobile,address,board,passed_year,intermediate_marks_obtained,intermediate_total_marks,percentage,normalization_factor,total_percentage) VALUES ('" & txtformnumber.Text & "','" & txtstuname.Text & "','" & txtfathname.Text & "','" & txtmothname.Text & "','" & cmbcategory.Text & "','" & cmbminority.Text & "','" & dobPicker1.Text & "','" & cmbgender.Text & "','" & txtmobile.Text & "','" & txtaddress.Text & "','" & cmbboard.Text & "','" & cmbpassedyear.Text & "','" & txtintermarks.Text & "','" & txtintertotalmarks.Text & "','" & txtpercentage.Text & "','" & Lblnormalization.Text & "','" & txtpercentageafterN.Text & "')" 
       .ExecuteNonQuery() 
      End With 

      MsgBox("Data Added!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "SUCCESS") 
      Me.Hide() 

      Call initgrid() 
     End If 

    Catch ex As Exception 
     MsgBox("Error : " & ex.ToString) 
    Finally 
     If (conn.state and ConnectionState.Open) <>0 Then 
      conn.Close 
     End If 
    End Try 

End Sub 
+0

спасибо за ваш ответ –

+0

@SantoshPandey ли что исправить проблему? Если да, пожалуйста, отметьте ответ как проверенный, в противном случае дайте мне знать, что, если какая-либо проблема, которую вы все еще имеете –

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

  • Нет связанных вопросов^_^