2013-07-16 4 views
0

Я могу добавить свои записи в свою базу данных без каких-либо проблем, но у меня возникли проблемы с отображением ее автоматически в моем datagridview.Показать запись в datagridview после добавления в базу данных

Для того, чтобы просмотреть мои записи в моем datagridview, мне нужно закрыть и перезапустить все, чтобы он появился. Есть ли какой-нибудь код, который я пропустил?

Private Sub btnAddEmp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddEmp.Click 
    Dim tranEmployee As SqlClient.SqlTransaction 
    sAdapter = New SqlDataAdapter(cmdEmployee) 
    Dim strID As String 
    Dim strName As String 

    Dim strPosition As String 
    Dim strContactNo As String 
    Dim strAddress As String 
    Dim strDOB As String 
    Dim strGender As String 
    Dim strSQL As String 

    conn.Open() 


    strID = mskEmployeeID.Text 
    strName = txtEmpName.Text 
    strPosition = cboEmpPosition.Text 
    strContactNo = mskEmpDOB.Text 
    strDOB = mskEmpDOB.Text 
    strAddress = txtEmpAddress.Text 
    If radEmpMale.Checked Then 
     strGender = "Male" 
    Else 
     strGender = "Female" 
    End If 


    strSQL = "INSERT INTO Users(userID,userName,userPosition,userGender,userDOB,userAddress)" & _ 
     "VALUES(@ID,@NAME,@POSITION,@GENDER,@DOB,@ADDRESS)" 

    tranEmployee = conn.BeginTransaction() 

    With cmdEmployee 
     .Transaction = tranEmployee 
     .CommandText = strSQL 
     .Parameters.AddWithValue("@ID", strID) 
     .Parameters.AddWithValue("@NAME", strName) 
     .Parameters.AddWithValue("@POSITION", strPosition) 
     .Parameters.AddWithValue("@GENDER", strGender) 
     .Parameters.AddWithValue("@DOB", strDOB) 
     .Parameters.AddWithValue("@ADDRESS", strAddress) 
     .Connection = conn 

    End With 

    Try 
     cmdEmployee.ExecuteNonQuery() 
     tranEmployee.Commit() 

    Catch ex As Exception 
     tranEmployee.Rollback() 
     MessageBox.Show(ex.Message) 
    Finally 
     conn.Close() 
    End Try 

End Sub 

ответ

1

код вы показали успешно добавить запись в базу данных, но он не делает никаких попыток, чтобы обновить что-либо в пользовательском интерфейсе. Где код, который связывает сетку с записями в базе данных? Этот код необходимо запустить снова после запуска этого кода.

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

0

Вам нужно снова вызвать подпрограмму утверждения select. Заявление, в котором вы вытащили свою информацию из базы данных.

Try 
    cmdEmployee.ExecuteNonQuery() 
    tranEmployee.Commit() 
Catch ex As Exception 
    tranEmployee.Rollback() 
    MessageBox.Show(ex.Message) 
Finally 
    conn.Close() 
    selectUsers() 
End Try 
Смежные вопросы