我有一个带有表名记录和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)
答案 0 :(得分:0)
您需要DataBind()
GridView
在您的BtnRecord_Click
事件中应该是这样的
RecordsDataGridView.DataSource = ds.Tables(0)
RecordsDataGridView.DataBind() `This is your missing line.
此外,您可以在添加新记录后自动加载。
只需将这2行添加到Button4_Click
事件