在VB.net中打印和存储收据

时间:2018-11-15 19:54:24

标签: mysql vb.net printing receipt

我正在设计类似POS的程序,以添加库存并打印和存储收据。我可以知道如何进行吗?有没有办法将收据存储在mysql数据库中? 这是我的POS屏幕截图和源代码

销售屏幕的屏幕截图:http://oi64.tinypic.com/35cpy5j.jpg

单击打印收据按钮后,我想生成一个pdf并将其发送以进行打印以及存储它们,以便我们可以随时访问它们。实现相同目标的最佳策略是什么?

Imports MySql.Data.MySqlClient
Imports System.Text.RegularExpressions


Public Class sale
    Dim MysqlConn As MySqlConnection
    Dim COMMAND As MySqlCommand
    Dim iReturn As Boolean

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `itemcode`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown1.DataSource = table
        BunifuDropdown1.ValueMember = "itemname"
        BunifuDropdown1.DisplayMember = "itemname"
    End Sub
    Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles BunifuTextBox4.KeyPress, BunifuTextBox5.KeyPress, BunifuTextBox6.KeyPress, BunifuTextBox7.KeyPress, BunifuTextBox8.KeyPress, BunifuTextBox14.KeyPress, BunifuTextBox15.KeyPress, BunifuTextBox20.KeyPress
        If Not Char.IsNumber(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles BunifuTextBox4.TextChanged, BunifuTextBox5.TextChanged, BunifuTextBox6.TextChanged, BunifuTextBox7.TextChanged, BunifuTextBox8.TextChanged, BunifuTextBox14.TextChanged, BunifuTextBox15.TextChanged, BunifuTextBox20.TextChanged
        Dim digitsOnly As Regex = New Regex("[^\d]")
        BunifuTextBox4.Text = digitsOnly.Replace(BunifuTextBox4.Text, "")
        BunifuTextBox5.Text = digitsOnly.Replace(BunifuTextBox5.Text, "")
        BunifuTextBox6.Text = digitsOnly.Replace(BunifuTextBox6.Text, "")
        BunifuTextBox7.Text = digitsOnly.Replace(BunifuTextBox7.Text, "")
        BunifuTextBox8.Text = digitsOnly.Replace(BunifuTextBox8.Text, "")
        BunifuTextBox14.Text = digitsOnly.Replace(BunifuTextBox14.Text, "")
        BunifuTextBox15.Text = digitsOnly.Replace(BunifuTextBox15.Text, "")
        BunifuTextBox20.Text = digitsOnly.Replace(BunifuTextBox20.Text, "")
    End Sub

    Private Sub TextBoxT_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles BunifuTextBox9.KeyPress, BunifuTextBox10.KeyPress, BunifuTextBox11.KeyPress, BunifuTextBox12.KeyPress, BunifuTextBox13.KeyPress, BunifuTextBox16.KeyPress, BunifuTextBox17.KeyPress, BunifuTextBox19.KeyPress, BunifuTextBox22.KeyPress
        If Not Char.IsNumber(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar) AndAlso Not e.KeyChar = "." Then
            e.Handled = True
        End If
    End Sub

    Private Sub TextBoxT_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles BunifuTextBox9.TextChanged, BunifuTextBox10.TextChanged, BunifuTextBox11.TextChanged, BunifuTextBox12.TextChanged, BunifuTextBox13.TextChanged, BunifuTextBox16.TextChanged, BunifuTextBox17.TextChanged, BunifuTextBox19.TextChanged, BunifuTextBox22.TextChanged
        Dim digitsOnly As Regex = New Regex("[^\d]")
        BunifuTextBox9.Text = digitsOnly.Replace(BunifuTextBox9.Text, "")
        BunifuTextBox10.Text = digitsOnly.Replace(BunifuTextBox10.Text, "")
        BunifuTextBox11.Text = digitsOnly.Replace(BunifuTextBox11.Text, "")
        BunifuTextBox12.Text = digitsOnly.Replace(BunifuTextBox12.Text, "")
        BunifuTextBox13.Text = digitsOnly.Replace(BunifuTextBox13.Text, "")
        BunifuTextBox16.Text = digitsOnly.Replace(BunifuTextBox16.Text, "")
        BunifuTextBox17.Text = digitsOnly.Replace(BunifuTextBox17.Text, "")
        BunifuTextBox19.Text = digitsOnly.Replace(BunifuTextBox19.Text, "")
        BunifuTextBox22.Text = digitsOnly.Replace(BunifuTextBox22.Text, "")
    End Sub
    Private Sub BunifuImageButton1_Click(sender As Object, e As EventArgs) Handles BunifuImageButton1.Click
        ownerhome.Show()
        Me.Hide()
    End Sub

    Private Sub BunifuImageButton2_Click(sender As Object, e As EventArgs) Handles BunifuImageButton2.Click
        Me.WindowState = FormWindowState.Minimized
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown2.DataSource = table
        BunifuDropdown2.ValueMember = "itemname"
        BunifuDropdown2.DisplayMember = "itemname"
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown3.DataSource = table
        BunifuDropdown3.ValueMember = "itemname"
        BunifuDropdown3.DisplayMember = "itemname"
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown4.DataSource = table
        BunifuDropdown4.ValueMember = "itemname"
        BunifuDropdown4.DisplayMember = "itemname"
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown5.DataSource = table
        BunifuDropdown5.ValueMember = "itemname"
        BunifuDropdown5.DisplayMember = "itemname"
    End Sub

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown6.DataSource = table
        BunifuDropdown6.ValueMember = "itemname"
        BunifuDropdown6.DisplayMember = "itemname"
    End Sub

    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        Dim connection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
        Dim adapter As New MySqlDataAdapter("SELECT `itemname`, `saleprice`, `quantity` FROM inventory WHERE quantity > 0", connection)
        Dim table As New DataTable()
        adapter.Fill(table)
        BunifuDropdown7.DataSource = table
        BunifuDropdown7.ValueMember = "itemname"
        BunifuDropdown7.DisplayMember = "itemname"
    End Sub

    Private Sub BunifuDropdown1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown1.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown1.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox9.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub

    Private Sub BunifuDropdown2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown2.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown2.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox10.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub

    Private Sub BunifuDropdown3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown3.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown3.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox11.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub

    Private Sub BunifuDropdown4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown4.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown4.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox12.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub



    Private Sub BunifuDropdown6_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown6.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown6.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox16.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub

    Private Sub BunifuDropdown7_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown7.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown7.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox17.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub

    Private Sub BunifuDropdown5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles BunifuDropdown5.SelectedIndexChanged
        Dim _isFound As Boolean = False
        Using SQLConnection As New MySqlConnection("server=localhost;userid=root;password=;database=chanamotors")
            Using sqlCommand As New MySqlCommand()
                With sqlCommand
                    .CommandText = "SELECT `saleprice` FROM `inventory` WHERE `itemname` = @itemname"
                    .Connection = SQLConnection
                    .CommandType = CommandType.Text
                    .Parameters.AddWithValue("@itemname", BunifuDropdown5.Text)
                End With
                Try
                    SQLConnection.Open()
                    Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader()
                    iReturn = True

                    While myReader.Read()
                        _isFound = True
                        BunifuTextBox13.Text = myReader("saleprice").ToString
                    End While
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    iReturn = False
                End Try

            End Using
        End Using
    End Sub

    Private Sub BunifuButton3_Click(sender As Object, e As EventArgs) Handles BunifuButton3.Click
        Dim a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z As Decimal
        Dim subtotal, tax, total As Decimal

        If BunifuTextBox9.Text = "" Then
            a = 0
        Else
            a = BunifuTextBox9.Text
        End If
        If BunifuTextBox10.Text = "" Then
            b = 0
        Else
            b = BunifuTextBox10.Text
        End If
        If BunifuTextBox11.Text = "" Then
            c = 0
        Else
            c = BunifuTextBox11.Text
        End If
        If BunifuTextBox12.Text = "" Then
            d = 0
        Else
            d = BunifuTextBox12.Text
        End If
        If BunifuTextBox13.Text = "" Then
            f = 0
        Else
            f = BunifuTextBox13.Text
        End If
        If BunifuTextBox16.Text = "" Then
            g = 0
        Else
            g = BunifuTextBox16.Text
        End If
        If BunifuTextBox17.Text = "" Then
            h = 0
        Else
            h = BunifuTextBox17.Text
        End If
        If BunifuTextBox19.Text = "" Then
            i = 0
        Else
            i = BunifuTextBox19.Text
        End If

        If BunifuTextBox4.Text = "" Then
            j = 0
        Else
            j = BunifuTextBox4.Text
        End If
        If BunifuTextBox5.Text = "" Then
            k = 0
        Else
            k = BunifuTextBox5.Text
        End If
        If BunifuTextBox6.Text = "" Then
            l = 0
        Else
            l = BunifuTextBox6.Text
        End If
        If BunifuTextBox7.Text = "" Then
            m = 0
        Else
            m = BunifuTextBox7.Text
        End If
        If BunifuTextBox8.Text = "" Then
            n = 0
        Else
            n = BunifuTextBox8.Text
        End If
        If BunifuTextBox14.Text = "" Then
            o = 0
        Else
            o = BunifuTextBox14.Text
        End If
        If BunifuTextBox15.Text = "" Then
            p = 0
        Else
            p = BunifuTextBox15.Text
        End If
        If BunifuTextBox20.Text = "" Then
            q = 0
        Else
            q = BunifuTextBox20.Text
        End If

        If BunifuTextBox22.Text = "" Then
            z = 0
        Else
            z = BunifuTextBox22.Text
        End If

        r = a * j
        s = b * k
        t = c * l
        u = d * m
        v = f * n
        w = g * o
        x = h * p
        y = i * q

        subtotal = r + s + t + u + v + w + x + y
        tax = (subtotal / 100) * z
        total = subtotal + tax

        Label10.Text = r
        Label17.Text = s
        Label16.Text = t
        Label15.Text = u
        Label14.Text = v
        Label13.Text = w
        Label12.Text = x
        Label11.Text = y
        Label21.Text = tax
        Label23.Text = "Total Tax: "
        Label19.Text = "SUB TOTAL: "
        Label18.Text = total & " INR"

    End Sub

    Private Sub Button8_Click(sender As Object, e As EventArgs)
        MsgBox(DateTimePicker1.Text)
    End Sub

    Private Sub BunifuButton2_Click(sender As Object, e As EventArgs) Handles BunifuButton2.Click

    End Sub
End Class

1 个答案:

答案 0 :(得分:0)

您可以使用itextsharp.dll生成PDF。 对于存储文件,可以将生成的PDF文件存储在硬盘驱动器上,或者仅存储数据,然后根据需要重新生成。