一、新建项目
二、设计登录窗体
代码如下:
Imports System ' 引入数据库操作类命名空间
Imports System.Data
Imports System.Data.SqlClient
Public Class登录
Dim i As Integer = 3 ' 声明计数器i,用来记录登录次数
Dim strsql As String
Dim strconn As String
Dim objcommand As SqlClient.SqlCommand
Dim objdr As SqlClient.SqlDataReader
Dim str1, str2 As String
' 取消按钮事件
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End Sub
' 确定按钮事件,控制登录
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
strconn = "data source=HD30-A1;initial catalog=xscj;user id=sa;password=123456;"
strsql = "select 用户名,密码 from users"
objcommand = New SqlClient.SqlCommand(strsql, New SqlClient.SqlConnection(strconn)) objcommand.Connection.Open()
objdr = objcommand.ExecuteReader(CommandBehavior.CloseConnection)
With objdr
Do While .Read = True
str1 = .GetString(0)
str2 = .GetString(1)
If Trim(TextBox1.Text) = Trim(str1) And Trim(TextBox2.Text) = Trim(str2) Then MessageBox.Show("恭喜您登录成功!", "系统提示", MessageBoxButtons.OK, https://www.doczj.com/doc/8a18878225.html,rmation)
main.Show()
Me.Visible = False
Exit Sub
End If
Loop
End With
i = i - 1
If i = 0 Then
MessageBox.Show("您已经没有登录机会了,再见!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Hand)
Me.Close()
Else
MessageBox.Show("登录失败!" + "您还有" + Str(i) + "次登录机会!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End If
End Sub
End Class
运行结果
三、设计主窗体
主窗体代码如下:
Private Sub 学生信息查询ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 学生信息查询ToolStripMenuItem.Click xscx.MdiParent = Me
xscx.Show()
End Sub
Private Sub学生信息修改ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles学生信息修改ToolStripMenuItem.Click
xsxg.MdiParent = Me
xsxg.Show()
End Sub
Private Sub主窗体_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
login.Close()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ToolStripStatusLabel1.Text = Now
End Sub
Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ToolStripMenuItem3.Click
Dim i As Integer
i = MsgBox("是否退出学生成绩管理系统?", MsgBoxStyle.OkCancel, "提示")
If i = 1 Then
End
Else
Exit Sub
End If
End Sub
运行结果
四、查询窗体设计
Dim strconn As String = "data source=cheng;initial catalog=xscj;user id=sa;password=123456;"
Dim objds As New Data.DataSet
Dim objda As SqlClient.SqlDataAdapter
Dim bingpage As BindingManagerBase
Dim strsql As String
' 窗体加载事件,将数据绑定到指定的对象
Private Sub学生信息查询_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
strsql = "select * from xs"
objda = New SqlClient.SqlDataAdapter(strsql, strconn)
objda.Fill(objds, "xs")
DataGridView1.DataSource = objds.Tables("xs")
bingpage = Me.BindingContext(objds, "xs")
TextBox1.DataBindings.Add(New Binding("text", objds, "学号"))
TextBox2.DataBindings.Add(New Binding("text", objds, "姓名"))
TextBox3.DataBindings.Add(New Binding("text", objds, "性别"))
DateTimePicker1.DataBindings.Add(New Binding("text", objds, "出生时间"))
TextBox5.DataBindings.Add(New Binding("text", objds, "专业名"))
TextBox4.DataBindings.Add(New Binding("text", objds, "总学分"))
RichTextBox1.DataBindings.Add(New Binding("text", objds, "xs.备注"))
ComboBox1.Items.Add("学号")
ComboBox1.Items.Add("姓名")
ComboBox1.Items.Add("专业名")
End Sub
' 首记录按钮事件
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
bingpage.Position = 1
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = True
Button4.Enabled = True
End Sub
' 上一条记录按钮事件
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
bingpage.Position = bingpage.Position - 1
If bingpage.Position <> 1 Then
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Else
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = True
Button4.Enabled = True
End If
End Sub
' 下一条记录按钮事件
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
bingpage.Position = bingpage.Position + 1
If bingpage.Position <> bingpage.Count - 1 Then
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Else
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = False
Button4.Enabled = False
End If
End Sub
' 尾记录按钮事件
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
bingpage.Position = bingpage.Count - 1
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = False
Button4.Enabled = False
End Sub
' 条件查询按钮事件
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
objds.Clear()
If ComboBox1.Text = ""Or TextBox9.Text = ""Then
MessageBox.Show("请输入查询条件!")
Exit Sub
Else
strsql = "select * from xs where " & Trim(ComboBox1.Text) & "=" & "'" &
Trim(TextBox9.Text) & "'"
objda = New SqlClient.SqlDataAdapter(strsql, strconn)
objda.Fill(objds, "xs")
DataGridView1.DataSource = objds.Tables("xs")
End If
End Sub
' 显示所有记录按钮事件
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
objds.Clear()
strsql = "select * from xs"
objda = New SqlClient.SqlDataAdapter(strsql, strconn)
objda.Fill(objds, "xs")
DataGridView1.DataSource = objds.Tables("xs")
End Sub
End Class
五、修改子窗体
Public Class学生信息修改
Inherits System.Windows.Forms.Form
Dim strconn As String = "data source=cheng;initial catalog=学生成绩管理;user
id=sa;password=123456;"
Dim objds As New Data.DataSet
Dim objda As SqlClient.SqlDataAdapter
Dim bingpage As BindingManagerBase
Dim cn As New SqlClient.SqlConnection
Dim cmd As SqlClient.SqlCommand
Private Sub学生信息修改_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Add("男")
ComboBox1.Items.Add("女")
Dim strsql As String
strsql = "select * from 学生表"
objda = New SqlClient.SqlDataAdapter(strsql, strconn)
objda.Fill(objds, "学生表")
DataGridView1.DataSource = objds.Tables("学生表")
bingpage = Me.BindingContext(objds, "学生表")
Dim i As Integer
For i = 1970 To 2000
ComboBox2.Items.Add(i)
Next
For i = 1 To 12
ComboBox3.Items.Add(i)
Next
For i = 1 To 31
ComboBox4.Items.Add(i)
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Enabled = False
Button2.Enabled = True
TextBox1.ReadOnly = False
TextBox2.ReadOnly = False
TextBox3.ReadOnly = False
RichTextBox1.ReadOnly = False
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Button1.Enabled = True
Dim sql, d As String
d = ComboBox2.Text & "-" & ComboBox3.Text & "-" & ComboBox4.Text
sql = "insert into 学生表(学号,姓名,性别,院系名称,出生日期,备注) values( '" &
Trim(TextBox1.Text) & "','" & _
Trim(TextBox2.Text) & "','"& Trim(ComboBox1.Text) & "','"& Trim(TextBox3.Text) & "','" & CStr(d) & "','" & _
Trim(RichTextBox1.Text) & "')"
cn.ConnectionString = strconn
cn.Open()
cmd = New SqlClient.SqlCommand(sql, cn)
cmd.ExecuteNonQuery()
cmd.Dispose()
cn.Dispose()
Button1.Enabled = True
Button2.Enabled = False
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
DataGridView1.ReadOnly = False
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
DataGridView1.ReadOnly = True
objda.Update(objds)
End Sub
End Class