Imports System.Data.SqlClient
Public Class frmstdfeerecord
Private Sub frmstdfeerecord_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sqlcmd As String '查询命令
Dim dt As DataTable
'清除下拉列表
cboofc.Items.Clear()
cbono.Items.Clear()
cboclass.Items.Clear()
'添加住院科室到下拉列表中
sqlcmd = "SELECT DISTINCT Consultation_Office FROM Patient"
dt = sqlqry(sqlcmd, Nothing)
For i = 0 To dt.Rows.Count - 1
cboofc.Items.Add(dt.Rows(i).Item("Consultation_Office"))
Next
sqlcmd = "SELECT DISTINCT Class FROM CuredItem"
dt = sqlqry(sqlcmd, Nothing)
For i = 0 To dt.Rows.Count - 1
cboclass.Items.Add(dt.Rows(i).Item("class"))
Next
End Sub
Private Sub cboofc_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboofc.SelectedIndexChanged
Dim sqlcmd As String '查询命令
Dim dt As DataTable
cbono.Items.Clear()
txtname.Text = "" '清除病人姓名内容
'添加对应住院科室下的所有住院号到下拉列表中
sqlcmd = "SELECT DISTINCT Patient_ID FROM Patient "
sqlcmd = sqlcmd & " WHERE Consultation_Office='" & cboofc.Text & "'"
sqlcmd = sqlcmd & " AND Leave_Time IS NULL"
dt = sqlqry(sqlcmd, Nothing)
For i = 0 To dt.Rows.Count - 1
cbono.Items.Add(dt.Rows(i).Item("patient_id"))
Next
End Sub
Private Sub cbono_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbono.SelectedIndexChanged
Dim sqlcmd As String '查询命令
Dim dt As DataTable
'查找对应住院号的病人姓名,以便显示核对
sqlcmd = "SELECT Name,total_prefee FROM Patient "
sqlcmd = sqlcmd & " WHERE Patient_ID='" & cbono.Text & "'"
dt = sqlqry(sqlcmd, Nothing)
If dt.Rows.Count = 0 Then
MsgBox("没有找到这个住院病人!", vbOKOnly, "提示")
Else
txtname.Text = dt.Rows(0).Item("name").ToString()
txttotfee.Text = dt.Rows(0).Item("total_prefee").ToString()
End If
End Sub
Private Sub cboclass_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboclass.SelectedIndexChanged
Dim sqlcmd As String '查询命令
Dim dt As DataTable
sqlcmd = "SELECT * FROM CuredItem WHERE Class='" & cboclass.Text & "'"
dt = sqlqry(sqlcmd, Nothing)
lstitem.Items.Clear() '清除原有内容
lstitem.View = View.Details
lstitem.FullRowSelect = True
lstitem.Columns.Add("项目id", 100, HorizontalAlignment.Left)
lstitem.Columns.Add("项目名称", 100, HorizontalAlignment.Left)
lstitem.Columns.Add("费用", 100, HorizontalAlignment.Right)
For i = 0 To dt.Rows.Count - 1
objitem = lstitem.Items.Add(dt.Rows(i).Item("item_id"))
objitem.SubItems.Add(dt.Rows(i).Item("name"))
objitem.SubItems.Add(Format(dt.Rows(i).Item("fee"), "####0.00"))
Next
End Sub
Private Sub lstitem_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstitem.DoubleClick
Dim dt As DataTable
Dim itemprice As Double
Dim sqlcmd As String
ItmNo = lstitem.SelectedItems.Item(0).Text
sqlcmd = "SELECT * FROM cureditem WHERE item_ID='" & ItmNo & "'"
dt = sqlqry(sqlcmd, Nothing)
If dt.Rows.Count > 0 Then
itemprice = dt.Rows(0).Item("fee")
End If
txtfee.Text = Format(itemprice, "####0.00")
txtfee.Focus()
End Sub
Private Sub lstitem_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstitem.SelectedIndexChanged
End Sub
Private Sub cmdok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdok.Click
Dim CureFeeNo As Integer '费用编号
Dim sqlcmd As String
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim PatNo As String '住院号
PatNo = Trim(cbono.Text)
If PatNo = "" Then
MsgBox("请首先选择住院病人", vbOKOnly, "提示")
cboofc.Focus()
Exit Sub
End If
If lstitem.Items.Count = 0 Or Val(txtfee.Text) = 0 Then
MsgBox("请选择检查治疗项目", vbOKOnly, "提示")
lstitem.Focus()
Exit Sub
End If
If Val(txtfee.Text) = 0 Then
MsgBox("费用为零", vbOKOnly, "提示")
txtfee.Focus()
Exit Sub
End If
sqlcmd = "SELECT cnt =count(*) FROM CureFee WHERE Patient_ID='" & PatNo & "'"
sqlcmd = sqlcmd & " AND FeeItem_ID='" & ItmNo & "'"
dt = sqlqry(sqlcmd, Nothing)
CureFeeNo = dt.Rows(0).Item("cnt") + 1
'准备更新数据记录
sqlcmd = "SELECT * FROM CureFee WHERE Patient_ID='" & PatNo & "'"
sqlcmd = sqlcmd & " AND FeeItem_ID='" & ItmNo & "'"
da = Nothing
dt = sqlqry(sqlcmd, Nothing)
da.InsertCommand = New SqlCommandBuilder(da).GetInsertCommand()
Dim dr As DataRow = dt.NewRow()
dr("fee_id") = CureFeeNo
dr("patient_id") = PatNo
dr("feeitem_id") = ItmNo
dr("fee_type") = "检查治疗费用"
dr("fee") = Val(txtfee.Text)
dr("cured_time") = Now
dt.Rows.Add(dr)
da.Update(dt)
MsgBox("添加费用完成", vbOKOnly, "提示")
End Sub
Private Sub cmdexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexit.Click
Me.Close()
Me.Dispose()
End Sub
End Class
da = Nothing
dt = sqlqry(sqlcmd, Nothing)
da.InsertCommand = New SqlCommandBuilder(da).GetInsertCommand()
你的da=Nothing
先用da.SelectCommand() = New SqlCommand(queryString, connection)进行初始化