📄 form3.vb
字号:
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 + -