2016-04-21 10 views
0

У меня есть база данных SQL Server CE с записями имен таблиц и 22 столбцами и в моей форме на vb.net. У меня есть 19 текстовых полей и 3 datetimepickers для каждого из соответствующие текстовые поля, а также связанный dgv, который я перетащил из запроса моих таблиц.Ввод данных в базу данных SQL Server CE не отображается в dgv во время выполнения

Когда я запускаю данные программы и ввода в текстовые поля и нажмите кнопку Сохранить его сохранить с сообщ «Запись сохранена», как запрограммировано, но ничего не отображается в моем DGV

Вот мой код:

Imports System 
Imports System.Data 
Imports System.Data.SqlServerCe 

Public Class Form1 
    Dim Cmd As SqlCeCommand 
    Dim con As SqlCeConnection 
    Dim affector As Integer 

    Dim ConnectionString As String = ("Data Source=C:\Users\chinedu\documents\visual studio 2010\Projects\GUU SPECIALIST HOSPITAL 2\GUU SPECIALIST HOSPITAL 2\Database1.sdf") 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     'TODO: This line of code loads data into the 'Database1DataSet.PATIENT_RECORD' table. You can move, or remove it, as needed.' 
    Dim strconnection As String = ("Data Source=C:\Users\chinedu\documents\visual studio 2010\Projects\GUU SPECIALIST HOSPITAL 2\GUU SPECIALIST HOSPITAL 2\Database1.sdf") 

Try 
     con = New SqlServerCe.SqlCeConnection("strconnection") 
     Dim sql As SqlServerCe.SqlCeCommand = New SqlServerCe.SqlCeCommand("Query", con) 
     con.Open() 
     If con.State = ConnectionState.Closed Then 
      MessageBox.Show("Database has failed to connect. System will now terminate.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information) 
      End 
     Else 
      Exit Sub 
     End If 
    Catch 
     MsgBox("Connection Established") 
    End Try 
End Sub 

'save button' 
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click 
    Try 
     con = New SqlCeConnection(ConnectionString) 
     con.Open() 
     sCommand = New SqlCeCommand("INSERT INTO RECORD([Patient_name],[Patient_Address],[Patient_Date_Of_Birth],[Patient_Phone Number],[Patient_CardNO],[Blood_Group],[Date_Admitted],[Date_Discharged],[Treatment1],[Treatment2],[Treatment3],[Treatment4],[Treatment5],[Treatment6],[Price_Unit1],[Price_Unit2],[Price_Unit3],[Price_Unit4],[Price_Unit5],[Price_Unit6],[Sub_total],[VAT],[Prev_bal],[Net_Total]) values ('" + Patient_AddressTextBox.Text + "','" + Patient_AddressTextBox.Text + "','" + Patient_Date_Of_BirthDateTimePicker.Value.Date + "','" + Phone_NumberTextBox.Text + "','" + Hospital_NumberTextBox.Text + "','" + Blood_Group_TextBox.Text + "','" + Date_AdmittedDateTimePicker.Value.Date + "','" + Date_DischargedDateTimePicker.Value.Date + "','" + Treatment1TextBox.Text + "','" + Treatment2TextBox.Text + "','" + Treatment3TextBox.Text + "','" + Treatment4TextBox.Text + "','" + Treatment5TextBox.Text + "','" + Treatment6TextBox.Text + "','" + Sub_TotalTextBox.Text + "','" + VATTextBox.Text + "','" + Previous_BalTextBox.Text + "','" + Net_TotalTextBox.Text + "',)", con) 
     affector = sCommand.ExecuteNonQuery 
    Catch 
     MessageBox.Show("New record has been saved.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information) 
    End Try 
End Sub 

Private Sub BtnRecord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRecord.Click 
    strcon = ("Data Source= C:\Users\chinedu\documents\visual studio 2010\Projects\GUU SPECIALIST HOSPITAL 2\GUU SPECIALIST HOSPITAL 2\Database1.sdf") 
    con = New SqlCeConnection(strcon) 
    Dim query As String = " SELECT * from Records" 
    Dim adpt As New SqlCeDataAdapter(query, con) 
    Dim ds As New Database1DataSet() 
    adpt.Fill(ds, "Records") 
    RecordsDataGridView.DataSource = ds.Tables(0) 

ответ

0

Вы должны DataBind() вашего GridView

в вашем BtnRecord_Click случае должно быть, как это

RecordsDataGridView.DataSource = ds.Tables(0) 
RecordsDataGridView.DataBind() `This is your missing line. 

Также вы можете автоматически загружать его после добавления новой записи. Просто добавьте эти 2 строки к вашему Button4_Click события