题库管理系统论文+文献综述+任务书+参考文献 第5页
图4-2登录题库管理系统首先是对窗体进行设计,各控件属性值如上图所示。下面就是进行数据库连接,接着对各控件用代码与数据源进行绑定,对各个按钮进行单击事件处理。主要使用的是SQL的添加(Insert)命令和修改(Update)命令实现,而删除则使用了DeleteCommand,代码如下:
//数据库连接
Dim conn As New OleDbConnection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=题库.mdb"
conn.Open()
//添加
Dim cmd As New OleDbCommand
cmd.Connection = conn
cmd.CommandText = "insert into 题库表(题号,题型,难度系数,题目,分值,答案,选项A,选项B,选项C,选项D,出题人,出题日期) values ( '" & txt题号.Text & "','" & txt题型.Text & "','" & txt难度.Text & "','" & txt题目.Text & "'," & txt分值.Text & ",'" & txt答案.Text & "','" & txta.Text & "','" & txtb.Text & "','" & txtc.Text & "','" & txtd.Text & "','" & txt出题人.Text & "',#" & txt出题本文来自辣文论文网原文请找QQ752018766日期.Text & "#)"
//删除
Dim ocb As New OleDbCommandBuilder(Adapter2)
Adapter2.DeleteCommand = ocb.GetDeleteCommand()
Adapter2.Update(DataSet1, "题库表")
//修改
sqlstr = "update 题库表 set 题型='" & txt题型.Text & "',难度系数='" & txt难度.Text & "',题目='" & txt题目.Text & "',分值=" & txt分值.Text & ",答案='" & txt答案.Text & "',选项A='" & txta.Text & "',选项B='" & txtb.Text & "',选项C='" & txtc.Text & "',选项D='" & txtd.Text & "',出题人='" & txt出题人.Text & "',出题日期=#" & txt出题日期.Text & "# where 题号='" & txt题号.Text & "'"
Dim com As OleDbCommand = New OleDbCommand(sqlstr, conn)
com.ExecuteNonQuery()
(4)题库查询:使用不同的运算符对各个字段名进行查询,通过ADO.NET控件连接到数据库,使用DATAGRID控件显示表信息,通过SQL语句实现。
例如:按题号字段进行查询
Case "题号"
Dim n As Integer
If com运算符.Text = "like" Then
题库DataSet1.Clear()
OleDbDataAdapter1.SelectCommand.CommandText = "select * from 题库表 where 题号 " & "like + '%'+'" + txt条件.Text + "'+'%'"
n = OleDbDataAdapter1.Fill(题库DataSet1)
Else
题库DataSet1.Clear()
OleDbDataAdapter1.SelectCommand.CommandText = "select * from 题库表 where 题号 " & com运算符.Text & "'" & txt条件.Text & "'"
n = OleDbDataAdapter1.Fill(题库DataSet1)
End If
注:其它字段使用相同的方法实现。
(5)随机组卷:通过随机函数获得随机数,输入题目数,然后自动出题,把抽出的试题信息存放到二文数组中。通过ADO.NET控件连接到数据库,使用DATAGRID控件显示试题信息,通过SQL语句实现。
随机抽题实现方法:
For n = 0 To txt选择.Text - 1
Dim dr As DataRow
s(n) = Fix(Rnd() * (ds.Tables("题库表").Rows.Count - 1)) + 0
dr = dt.Rows(s(n))
a(n, 0) = dr("题号").ToString
毕业论文
http://www.751com.cn a(n, 3) = dr("选项B").ToString
a(n, 4) = dr("选项C").ToString
a(n, 5) = dr("选项D").ToString
Next
(6)人工组卷:对进入题库的记录进行人工出卷,通过ADO.NET控件连接到数据库的出入库表,通过SQL语句选出出试卷的记录,使用DATAGRID控件显示试题信息。
实现方法:
conn.Open()
Dim cmd As New OleDbCommand
cmd.Connection = conn
cmd.CommandText = "insert into 试卷表1(题目,选项A,选项B,选项C,选项D) values ( '" & txt题目.Text & " ','" & txta.Text & "','" & txtb.Text & "','" & txtc.Text & "','" & txtd.Text & "')"
Dim da As New OleDbDataAdapter(cmd)
da.Fill(DataSet2, "试卷表1")
Dim Adapter11 As OleDbDataAdapter = New OleDbDataAdapter("select 题号,题目,选项A,选项B,选项C,选项D from 试卷表1", conn)
Adapter11.Fill(DataSet2, "试卷表1")
DataGrid2.DataSource = DataSet2.Tables("试卷表1")
conn.Close()
(7)试卷导出:通过文件复制实现。
实现代码:
Public Shared Sub CopyDir(ByVal srcPath As String, ByVal aimPath As String)
Try
' 检查目标目录是否以目录分本文来自辣文论文网原文请找QQ752018766割字符\结束,如果不是则添加之
If aimPath(aimPath.Length - 1) <> Path.GetFullPath(srcPath) Then
aimPath += Path.GetFullPath(srcPath)
End If
'判断源目录是否存在,不存在则退出.
If (Not Directory.Exists(srcPath)) Then Exit Sub
' 判断目标目录是否存在如果不存在则新建之
If (Not Directory.Exists(aimPath)) Then
Directory.CreateDirectory(aimPath)
' 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
End If
Dim fileList() As String = Directory.GetFiles(srcPath)
' 遍历所有的文件和目录
For Each FileName As String In fileList
' 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
If Directory.Exists(FileName) Then
CopyDir(FileName, aimPath + Path.GetFileName(FileName))
' 否则直接Copy文件
Else
File.Copy(FileName, aimPath + Path.GetFileName(FileName), True)
End If
Next
Catch ex As Exception
MessageBox.Show(ex.ToString())
上一页 [1] [2] [3] [4] [5] [6] 下一页
题库管理系统论文+文献综述+任务书+参考文献 第5页下载如图片无法显示或论文不完整,请联系qq752018766