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

📄 form3.vb

📁 学籍管理系统 源代码 希望大家能用上 谢谢
💻 VB
📖 第 1 页 / 共 2 页
字号:
Imports System.Data
Imports System.Data.SqlClient
Public Class Form3
    Dim objds As New DataSet()
    Dim objda As SqlClient.SqlDataAdapter
    Dim strsql As String
    Dim bindpage As BindingManagerBase
    Dim n As Integer = 0
    Public i As Single = 0
    Dim text1 As String
    Dim text2 As String
    Dim combobox As String
    Dim text4 As String
    Dim richtextbox As String
    Dim g As Integer = 0
    '用于标记是否是在原dataset上的操作
    Dim m As Integer = 0
    Dim t As Integer = 0


    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label2.ForeColor = Color.Red
       
        ComboBox1.Items.Add("男")
        ComboBox1.Items.Add("女")
        TextBox1.Enabled = False
        combobox2.Enabled = False
        ComboBox1.Enabled = False
        TextBox4.Enabled = False
        TextBox5.Enabled = False
        TextBox6.Enabled = False
        save.Enabled = False
        Button8.Enabled = False
        ' Button14.Enabled = False
        Button18.Enabled = False
        Dim strsql As String
        Dim strconn As String
        strconn = conn()
        PictureBox1.Enabled = True
        PictureBox1.BackColor = SystemColors.Control
        strsql = "select name,class,sex,number,xuhao ,jianjie,photo from xs "
        objda = New SqlClient.SqlDataAdapter(strsql, strconn)

        objda.Fill(objds, "xs")
        bindpage = Me.BindingContext(objds, "xs")
        Try
            TextBox1.DataBindings.Add("text", objds, "xs.name")
            combobox2.DataBindings.Add("text", objds, "xs.class")
            ComboBox1.DataBindings.Add("selecteditem", objds, "xs.sex")
            TextBox4.DataBindings.Add("text", objds, "xs.number")
            TextBox6.DataBindings.Add("text", objds, "xs.xuhao")
            RichTextBox1.DataBindings.Add("text", objds, "xs.jianjie")
        Catch ex As Exception
            MessageBox.Show("没有找到指定数据源!")
        End Try

        Try '数据流转换成图像
            Dim arrPicture() As Byte = CType(objds.Tables(0).Rows(0)("photo"), Byte())
            Dim ms2 As New IO.MemoryStream(arrPicture)
            '显示 Image
            With PictureBox1
                .Image = Image.FromStream(ms2)
                .BorderStyle = BorderStyle.Fixed3D
            End With
            ms2.Close()
        Catch ex As Exception
            MessageBox.Show("暂无照片!")
        End Try
        n = 0
        TextBox5.Text = bindpage.Count
        Label1.ForeColor = Color.Red
        Label1.Text = TextBox1.Text
    End Sub
    Private Function conn() As String
        Dim strconn As String
        strconn = "Data Source=x34; Initial Catalog=student;User ID=sa;Password=;"
        Return strconn
    End Function

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


        If bindpage.Position = bindpage.Count - 1 Then
            MessageBox.Show("已到最后一条记录!")
        Else
            bindpage.Position = bindpage.Position + 1
            Try
                Dim arrPicture() As Byte = CType(objds.Tables(0).Rows(bindpage.Position)("photo"), Byte())
                Dim ms2 As New IO.MemoryStream(arrPicture)
          
                With PictureBox1 '显示 Image
                    .Image = Image.FromStream(ms2)

                    .BorderStyle = BorderStyle.Fixed3D
                End With
                ms2.Close()
                Label1.Text = TextBox1.Text
            Catch ex As Exception
                MessageBox.Show("先注销在浏览新数据!")
            End Try
        End If

    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        i = bindpage.Position
        bindpage.AddNew()
        Button1.Enabled = False
        Button2.Enabled = False
        Button4.Enabled = False
        Button5.Enabled = False
        Button6.Enabled = False
        Button12.Enabled = False
        Button13.Enabled = False
        n = 2 '定义全局变量
        TextBox1.Enabled = True
        ComboBox2.Enabled = True
        ComboBox1.Enabled = True
        TextBox4.Enabled = True
        RichTextBox1.Enabled = True
        Button15.Enabled = True
        Button18.Enabled = True
        save.Enabled = True
        Button8.Enabled = True
        TextBox5.Text = (bindpage.Count)
        PictureBox1.Image = My.Resources.无名
        Label1.ForeColor = Color.Red
        Label1.Text = "暂无照片"
        TextBox6.Text = (bindpage.Count)
    End Sub
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        If m = 0 Then
            text1 = TextBox1.Text '接收数据用于撤销操作
            text2 = ComboBox2.Text
            combobox = ComboBox1.SelectedItem
            text4 = TextBox4.Text
            richtextbox = RichTextBox1.Text
            TextBox1.Enabled = True
            ComboBox2.Enabled = True
            ComboBox1.Enabled = True
            TextBox4.Enabled = True
            RichTextBox1.Enabled = True
            Button15.Enabled = True
            Button18.Enabled = True
            i = bindpage.Position
            Button1.Enabled = False
            Button2.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button12.Enabled = False
            Button13.Enabled = False
            n = 3 '定义全局变量
            save.Enabled = True
            Button8.Enabled = True
        Else

            Dim strsql As String
            Dim strconn As String
            strconn = conn()
            PictureBox1.Enabled = True
            PictureBox1.BackColor = SystemColors.Control
            strsql = "select name,class,sex,number,xuhao ,jianjie,photo from xs "
            objda = New SqlClient.SqlDataAdapter(strsql, strconn)
            objda.Fill(objds, "xs")
            bindpage = Me.BindingContext(objds, "xs")


            Try '数据流转换成图像
                Dim arrPicture() As Byte = CType(objds.Tables(0).Rows(t)("photo"), Byte())
                Dim ms2 As New IO.MemoryStream(arrPicture)
                '显示 Image
                With PictureBox1
                    .Image = Image.FromStream(ms2)
                    .BorderStyle = BorderStyle.Fixed3D
                End With
                ms2.Close()
            Catch ex As Exception
                MessageBox.Show("暂无照片!")
            End Try
            n = 0
            TextBox5.Text = bindpage.Count
            Label1.ForeColor = Color.Red
            Label1.Text = TextBox1.Text
            bindpage.Position = t
            text1 = TextBox1.Text '接收数据用于撤销操作
            text2 = ComboBox2.Text
            combobox = ComboBox1.SelectedItem
            text4 = TextBox4.Text
            richtextbox = RichTextBox1.Text
            TextBox1.Enabled = True
            ComboBox2.Enabled = True
            ComboBox1.Enabled = True
            TextBox4.Enabled = True
            RichTextBox1.Enabled = True
            Button15.Enabled = True
            Button18.Enabled = True
            i = bindpage.Position
            Button1.Enabled = False
            Button2.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button12.Enabled = False
            Button13.Enabled = False
            n = 3 '定义全局变量
            save.Enabled = True
            Button8.Enabled = True
        End If
        m = 0
        t = 0
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        i = bindpage.Position
        n = 4     '定义全局变量
        Button1.Enabled = False
        Button2.Enabled = False
        Button4.Enabled = False
        Button5.Enabled = False
        Button6.Enabled = False
        Button12.Enabled = False
        Button13.Enabled = False
        save.Enabled = True
        Button8.Enabled = True
    End Sub

    Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
        Dim rtextbox As String
        rtextbox = RichTextBox1.Text
        Select Case n
            Case 2
                If (TextBox1.Text = "" Or ComboBox2.Text = "" Or ComboBox1.SelectedItem = "" Or TextBox4.Text = "") Then
                    MessageBox.Show("有空项!")
                    bindpage.RemoveAt(bindpage.Position)
                    bindpage.Position = i
                    TextBox5.Text = (bindpage.Count)
                ElseIf (TextBox1.Text <> "" And ComboBox2.Text <> "" And ComboBox1.SelectedItem <> "" And TextBox4.Text <> "") Then
                    Dim richtext As String
                    t = CInt(TextBox6.Text) 't变量
                    richtext = RichTextBox1.Text
                    Dim oconn As SqlClient.SqlConnection
                    Dim ocmd As SqlClient.SqlCommand
                    Dim str As String
                    Dim strsql As String
                    str = conn()
                    oconn = New SqlClient.SqlConnection(str)
                    oconn.Open()
                    strsql = "insert into xs (name ,class,sex,number,jianjie,xuhao,photo) values ('" & TextBox1.Text & "','" & ComboBox2.Text & "','" & ComboBox1.Text & "','" & TextBox4.Text & "','" & RichTextBox1.Text & "','" & TextBox6.Text & "',@imagedata)"
                    ocmd = New SqlClient.SqlCommand(strsql, oconn)

                    '图片转换成数据流!!!!!!!!!!!!

                    Dim aryfilename() As String = Split(OpenFileDialog1.FileName, "\")
                    Array.Reverse(aryfilename)
                    Dim ms1 As New IO.MemoryStream
                    PictureBox1.Image.Save(ms1, PictureBox1.Image.RawFormat)
                    Dim arrimage() As Byte = ms1.GetBuffer
                    ms1.Close()
                    Dim para1 As New SqlParameter
                    para1 = ocmd.Parameters.Add("@imagedata", SqlDbType.Image)
                    ocmd.Parameters("@imagedata").Value = arrimage
                    '转换完毕



                    'MessageBox.Show(TextBox1.Text & TextBox6.Text)

                    ocmd.ExecuteNonQuery()

                    ' MessageBox.Show("序号和姓名不允许为空!")

                    oconn.Close()
                    objds.Tables("xs").NewRow()
                    objds.Tables("xs").AcceptChanges()
                    n = 0
                    Button1.Enabled = True
                    Button2.Enabled = True
                    Button4.Enabled = True
                    Button5.Enabled = True
                    Button6.Enabled = True
                    MessageBox.Show("记录增加成功!")
                    RichTextBox1.Text = rtextbox
                    save.Enabled = False
                    Button8.Enabled = False
                    TextBox1.Enabled = False
                    ComboBox2.Enabled = False
                    ComboBox1.Enabled = False
                    TextBox4.Enabled = False
                    TextBox5.Enabled = False
                    TextBox5.Text = (bindpage.Count)
                    RichTextBox1.Text = richtext
                    Button12.Enabled = True
                    Button13.Enabled = True
                    '在新增的dataset上
                    m = 1
                    objda.Update(objds, "xs")
                End If
                Button1.Enabled = True
                Button2.Enabled = True
                Button4.Enabled = True
                Button5.Enabled = True
                Button6.Enabled = True
                save.Enabled = False
                Button8.Enabled = False
                TextBox1.Enabled = False
                ComboBox2.Enabled = False
                ComboBox1.Enabled = False
                TextBox4.Enabled = False
                TextBox5.Enabled = False
                RichTextBox1.Enabled = False
                g = 0
                TextBox6.Text = t
            Case 3
                If g = 1 Then
                    Dim oconn As SqlClient.SqlConnection
                    Dim ocmd As SqlClient.SqlCommand
                    Dim str As String
                    Dim strsql As String
                    str = conn()
                    oconn = New SqlClient.SqlConnection(str)
                    Dim i As Integer
                    i = bindpage.Position
                    oconn.Open()
                    Try
                        objds.Tables(0).Rows(bindpage.Position).BeginEdit()
                    Catch ex As Exception
                        MessageBox.Show("该表无记录或新增记录请注销!")
                    End Try
                    strsql = "update xs set name='" & TextBox1.Text & "',class='" & ComboBox2.Text & "',sex='" & ComboBox1.SelectedItem & "',number='" & TextBox4.Text & "',jianjie='" & RichTextBox1.Text & "',photo=@imagedata where xuhao='" & TextBox6.Text & "'"
                    ocmd = New SqlClient.SqlCommand(strsql, oconn)
                    'ds2.Tables("MyImage").Rows(ListBox1.SelectedIndex).Delete()
                    Try '图片转换数据流
                        Dim aryfilename() As String = Split(OpenFileDialog1.FileName, "\")
                        Array.Reverse(aryfilename)
                        Dim ms1 As New IO.MemoryStream
                        PictureBox1.Image.Save(ms1, PictureBox1.Image.RawFormat)
                        Dim arrimage() As Byte = ms1.GetBuffer
                        ms1.Close()
                        Dim para1 As New SqlParameter
                        para1 = ocmd.Parameters.Add("@imagedata", SqlDbType.Image)
                        ocmd.Parameters("@imagedata").Value = arrimage
                        '转换完毕
                        ocmd.ExecuteNonQuery()
                        objds.Tables(0).Rows(bindpage.Position).EndEdit()
                        objds.Tables(0).Rows(i).AcceptChanges()
                        ' objda.Update(objds, "xs")
                        oconn.Close()
                    Catch ex As Exception
                        MessageBox.Show(ex.ToString)
                    End Try
                Else
                    Dim oconn As SqlClient.SqlConnection
                    Dim ocmd As SqlClient.SqlCommand
                    Dim str As String
                    Dim strsql As String

⌨️ 快捷键说明

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