⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmborrow.vb

📁 数据库课程设计。
💻 VB
📖 第 1 页 / 共 2 页
字号:
        Me.Label5.Location = New System.Drawing.Point(192, 44)
        Me.Label5.Name = "Label5"
        Me.Label5.Size = New System.Drawing.Size(80, 16)
        Me.Label5.TabIndex = 7
        Me.Label5.Text = "回车确认输入"
        '
        'txbBook
        '
        Me.txbBook.Location = New System.Drawing.Point(88, 40)
        Me.txbBook.Name = "txbBook"
        Me.txbBook.TabIndex = 6
        Me.txbBook.Text = ""
        '
        'rbnCode
        '
        Me.rbnCode.Location = New System.Drawing.Point(16, 52)
        Me.rbnCode.Name = "rbnCode"
        Me.rbnCode.Size = New System.Drawing.Size(64, 24)
        Me.rbnCode.TabIndex = 5
        Me.rbnCode.Text = "条形码"
        '
        'rbnBookNumber
        '
        Me.rbnBookNumber.Checked = True
        Me.rbnBookNumber.Location = New System.Drawing.Point(16, 24)
        Me.rbnBookNumber.Name = "rbnBookNumber"
        Me.rbnBookNumber.Size = New System.Drawing.Size(64, 24)
        Me.rbnBookNumber.TabIndex = 4
        Me.rbnBookNumber.TabStop = True
        Me.rbnBookNumber.Text = "编号"
        '
        'txbReader
        '
        Me.txbReader.Location = New System.Drawing.Point(88, 32)
        Me.txbReader.Name = "txbReader"
        Me.txbReader.TabIndex = 2
        Me.txbReader.Text = ""
        '
        'frmBorrow
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(688, 273)
        Me.Controls.Add(Me.GroupBox2)
        Me.Controls.Add(Me.GroupBox1)
        Me.Controls.Add(Me.ToolBar1)
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.Name = "frmBorrow"
        Me.Text = "图书借阅"
        Me.GroupBox1.ResumeLayout(False)
        Me.GroupBox2.ResumeLayout(False)
        CType(Me.dgdList, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region
    Private Sub txbBook_KeyDown(ByVal sender As Object, _
    ByVal e As Windows.Forms.KeyEventArgs) Handles txbBook.KeyDown
        '判断输入的字符是否是回车
        If e.KeyCode = Keys.Enter Then
            '判断读者的借阅数量是否超过可借数量
            If dtData.Rows.Count >= CInt(Me.txbCount.Text.Trim) Then
                MessageBox.Show("你借阅数量已经超过可借数量")
            End If
            Dim db As DataBase = New DataBase
            Dim strSQL As String = ""
            strSQL += "select 编号,书名,出版社,价格,b.可借天数 from"
            strSQL += " 图书信息 as a , 图书类型 as b "
            strSQL += "where a.类型 = b.类型名称"
            '判断输入的是编号,还是条形码
            If rbnBookNumber.Checked = True Then
                strSQL += " and 编号='" + txbBook.Text.Trim + "'"
            Else
                strSQL += " and 条形码='" + txbBook.Text.Trim + "'"
            End If
            Dim dv As DataView = db.RunSelectSQL(strSQL)
            Dim strNumber, strName, strPress, strPrice, strDays As String
            If dv.Count <> 0 Then
                '判断该读者是否已经借过这本书
                For Each tmpdr As DataRow In dtData.Rows
                    If tmpdr("编号").ToString().Trim _
                    = dv(0)("编号").ToString.Trim Then
                        MessageBox.Show("图书已经借给该读者!")
                        Exit Sub
                    End If
                Next
                strNumber = dv(0)("编号").ToString.Trim
                strName = dv(0)("书名").ToString.Trim
                strPress = dv(0)("出版社").ToString.Trim
                strPrice = dv(0)("价格").ToString.Trim
                strDays = dv(0)("可借天数").ToString.Trim
                Dim dr As DataRow = dtData.NewRow
                dr("状态") = "新借"
                dr("编号") = strNumber
                dr("书名") = strName
                dr("借阅时间") = Date.Now.ToString("yyyy-MM-dd")
                dr("应还时间") = _
                Date.Now.AddDays(CInt(strDays)).ToString("yyyy-MM-dd")
                dr("出版社") = strPress
                dr("价格") = strPrice
                dtData.Rows.Add(dr)
                dtData.DefaultView.AllowNew = False
                dtData.DefaultView.AllowEdit = False
                dtData.DefaultView.AllowDelete = False
                dgdList.DataSource = dtData.DefaultView
            End If
            db.Dispose()
        End If
    End Sub
    Private Sub txbReader_KeyDown(ByVal sender As System.Object, _
    ByVal e As Windows.Forms.KeyEventArgs) Handles txbReader.KeyDown
        '判断输入的字符是否是回车
        If e.KeyCode = Keys.Enter Then
            '判断是否有未保存数据
            If dtData.Rows.Count <> 0 Then
                If MessageBox.Show("未保存数据", "提示", _
                MessageBoxButtons.YesNo) = DialogResult.Yes Then
                    '清空数据表
                    dtData.Rows.Clear()
                Else
                    Return
                End If
            End If
            Dim db As DataBase = New DataBase
            Dim strSQL As String = ""
            strSQL += "select 姓名,编号,a.类型,图书册书 from 读者类型"
            strSQL += " as a , 读者信息 as b where a.类型 = b.类型"
            '判断输入的是编号,还是条形码
            If rbnReaderNumber.Checked = True Then
                strSQL += " and 编号='" + txbReader.Text.Trim + "'"
            Else
                strSQL += " and 条形码='" + txbReader.Text.Trim + "'"
            End If
            Dim dv As DataView = db.RunSelectSQL(strSQL)
            '判断是否存在此读者
            If dv.Count <> 0 Then
                '获得读者信息
                txbName.Text = dv(0)("姓名").ToString.Trim
                txbType.Text = dv(0)("类型").ToString.Trim
                txbCount.Text = dv(0)("图书册书").ToString.Trim
                '查看此读者是否已经借阅了其它书
                strSQL = "select 状态,编号,书名,借阅时间,应还时间,出版社,"
                strSQL += "价格 from 图书信息 as a , 图书借阅 as b where"
                strSQL += " a.编号 = b.图书编号 and 状态 = '未还' and "
                strSQL += "读者编号 ='" + dv(0)("编号").ToString.Trim + "'"
                dv = db.RunSelectSQL(strSQL)
                If dv.Count <> 0 Then
                    dv.AllowDelete = False
                    dv.AllowEdit = False
                    dv.AllowNew = False
                    dtData = dv.Table
                    Me.dgdList.DataSource = dv
                End If
                txbReader.ReadOnly = True
                txbBook.Focus()
            Else
                txbName.Text = ""
                txbType.Text = ""
                txbCount.Text = ""
                txbReader.Focus()
            End If
            db.Dispose()
        End If
    End Sub
    Private Sub SetTextBox(ByVal bState As Boolean)
        Me.txbName.ReadOnly = bState
        Me.txbCount.ReadOnly = bState
        Me.txbType.ReadOnly = bState
    End Sub
    Private Sub frmBorrow_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        SetTextBox(True)
        InitDataTable()
    End Sub
    Private Sub InitDataTable()
        '构造数据表
        dtData = New DataTable
        dtData.Columns.Add("状态")
        dtData.Columns.Add("编号")
        dtData.Columns.Add("书名")
        dtData.Columns.Add("借阅时间")
        dtData.Columns.Add("应还时间")
        dtData.Columns.Add("出版社")
        dtData.Columns.Add("价格")
    End Sub
    Private Sub frmBorrow_Closing(ByVal sender As Object, _
    ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles MyBase.Closing
        If Me.dtData.Rows.Count <> 0 Then
            For Each tmpdr As DataRow In dtData.Rows
                If tmpdr("状态").ToString.Trim = "新借" Then
                    If MessageBox.Show("未保存数据", "提示", _
                 MessageBoxButtons.YesNo) = DialogResult.No Then
                        e.Cancel = True
                        dtData.Dispose()
                    End If
                End If
            Next
        End If
    End Sub
    Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) _
    Handles ToolBar1.ButtonClick
        Select Case e.Button.Text
            Case "确定借书"
                If Me.dtData.Rows.Count <> 0 Then
                    Dim strSQL As String = ""
                    For Each tmpdr As DataRow In dtData.Rows
                        '判断书是否是新借
                        If tmpdr("状态").ToString.Trim = "新借" Then
                            '将新借的书插入到数据库中
                            strSQL = " insert into 图书借阅(图书编号,"
                            strSQL += "读者编号,借阅时间,应还时间,"
                            strSQL += "续借次数,操作员,状态)  values('"
                            strSQL += tmpdr("编号") + "','"
                            strSQL += txbReader.Text.Trim
                            strSQL += "','" + tmpdr("借阅时间") + "','"
                            strSQL += tmpdr("应还时间") + "'"
                            strSQL += ",0,'操作员','新借')"
                        End If
                    Next
                    If strSQL.Length <> 0 Then
                        Dim db As DataBase = New DataBase
                        db.RunDelOrInsSQL(strSQL)
                        db.RunDelOrInsSQL("sf_图书借阅")
                        db.Dispose()
                    End If
                End If
            Case "退出"
                Me.Close()
        End Select
        '清空控件信息
        txbName.Text = ""
        txbType.Text = ""
        txbCount.Text = ""
        txbBook.Text = ""
        txbReader.Text = ""
        '清空数据表
        dtData.Clear()
        '设置数据源
        dtData.DefaultView.AllowNew = False
        dtData.DefaultView.AllowEdit = False
        dtData.DefaultView.AllowDelete = False
        dgdList.DataSource = dtData.DefaultView
        Me.txbReader.ReadOnly = False
        Me.txbReader.Focus()
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -