SQL Server CE数据库中的数据输入在运行时期间未显示在dgv中

时间:2016-04-21 14:21:12

标签: sql .net vb.net sql-server-ce

我有一个带有表名记录和22列的SQL Server CE数据库,在我的vb.net表单中,每个相应的文本框都有19个文本框和3个日期时间戳,还有一个绑定的dgv,我是从查询我的表格。

当我运行程序并将数据输入到文本框中并单击“保存”时,使用msg"记录保存"如编程但我的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)

1 个答案:

答案 0 :(得分:0)

您需要DataBind() GridView

在您的BtnRecord_Click事件中应该是这样的

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

此外,您可以在添加新记录后自动加载。 只需将这2行添加到Button4_Click事件

即可