模拟考试系统C#源码
开始窗体
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic; using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Exam
{
public partial class ExamForm : Form
{
public ExamForm()
{
InitializeComponent();
}
///
/// ExamForm
///
///
///
private void ExamForm_Load(object sender, EventArgs e)
{
CenterToScreen();
Text = "模拟考试系统";
this.Width = 360;
this.Height = 230;
this.progressBar1.Width = 360;
this.progressBar1.Height = 10;
this.progressBar1.Left = 0;
this.progressBar1.Top = 220;
this.timer1.Start();
}
int i = 8;
private void timer1_Tick(object sender, EventArgs e)
{
this.progressBar1.PerformStep();
i--;
if (i==0)
{
this.timer1.Stop();
FormExam f = new FormExam();
f.Show();
this.Hide();
}
}
}
}
数据库辅助类
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic; using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace Exam
{
public class DataBase
{
public string connString =
@"Data Source=XUTAO;Initial Catalog=Exam;Integrated Security=True";
private SqlConnection conn;
///
/// SqlConnection
///
public SqlConnection Conn
{
get
{
if (conn == null)
{
conn = new SqlConnection(connString);
}
return conn;
}
}
///
/// 打开数据库
///
public void openData()
{
if (Conn.State == ConnectionState.Closed)
{
Conn.Open();
}
else if (Conn.State == ConnectionState.Broken)
{
Conn.Close();
Conn.Open();
}
}
///
/// 关闭数据库
///
public void closeData()
{
if (Conn.State == ConnectionState.Open ||
Conn.State == ConnectionState.Broken)
{
Conn.Close();
}
}
}
}
主窗体
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; using System.Data.SqlClient;
namespace Exam
{
public partial class FormExam : Form
{
public FormExam()
{
InitializeComponent();
}
///
/// 调用数据库
///
DataBase db = new DataBase();
///
/// ExamForm
///
///
///
private void FormExam_Load(object sender, EventArgs e)
{
CenterToScreen();
this.Cursor = Cursors.Hand;
this.Text = "模拟考试系统";
this.tscmbExamType.SelectedIndex = 0;
this.timerDate.Start();
this.Width = 1000;
this.Height = 600;
this.MaximizeBox = false;
this.Top = 50;
this.groupBox1.Top = 40;
this.groupBox1.Left = 10;
this.groupBox1.Height = 250;
this.groupBox1.Width = 200;
this.listExam.GridLines = true;
this.listExam.FullRowSelect = true;
this.groupBox2.BackColor = Color.Transparent;
this.groupBox2.Text = "试题题干";
this.groupBox2.Height = 250;
this.groupBox2.Width = 755;
this.groupBox2.Left = 215;
this.groupBox2.Top = 40;
this.groupBox2.ForeColor = Color.White;
this.rtbExam.ReadOnly = true;
this.groupBox3.Text = "试题选项";
this.groupBox3.ForeColor = Color.White;
this.groupBox3.BackColor = Color.Transparent;
this.groupBox3.Left = 215;
this.groupBox3.Width = 755;
this.groupBox3.Height = 250;
this.groupBox3.Top = 295;
this.groupBox4.Text = "操作区域";
this.groupBox4.ForeColor = Color.White;
this.groupBox4.BackColor = Color.Transparent;
this.groupBox4.Width = 200;
this.groupBox4.Height = 250;
this.groupBox4.Top = 295;
this.groupBox4.Left = 10;
this.button1.Text = "开始答题";
this.button1.Top = 40;
this.button1.Left = 50;
this.button1.Width = 90;
this.button1.Height = 25;
this.button1.ForeColor = Color.Blue;
this.button2.Text = "上一试题";
this.button2.Top = 80;
this.button2.Left = 50;
this.button2.Width = 90;
this.button2.Height = 25;
this.button2.ForeColor = Color.Blue;
this.button3.Text = "下一试题";
this.button3.Top = 120;
this.button3.Left = 50;
this.button3.Width = 90;
this.button3.Height = 25;
this.button3.ForeColor = Color.Blue;
this.button4.Text = "停止答题";
this.button4.Top = 160;
this.button4.Left = 50;
this.button4.Width = 90;
this.button4.Height = 25;
this.button4.ForeColor = Color.Blue;
this.button5.Text = "提交试题";
this.button5.Top = 200;
this.button5.Left = 50;
this.button5.Width = 90;
this.button5.Height = 25;
this.button5.ForeColor = Color.Blue;
this.radioButton1.Text = "A";
this.radioButton1.Left = 5;
this.radioButton1.Top = 50;
this.radioButton1.ForeColor = Color.GreenYellow;
this.radioButton1.Enabled = false;
this.radioButton2.Text = "B";
this.radioButton2.Left = 5;
this.radioButton2.Top = 100;
this.radioButton2.ForeColor = Color.GreenYellow;
this.radioButton2.Enabled = false;
this.radioButton3.Text = "C";
this.radioButton3.Left = 5;
this.radioButton3.Top = 150;
this.radioButton3.ForeColor = Color.GreenYellow;
this.radioButton3.Enabled = false;
this.radioButton4.Text = "D";
this.radioButton4.Left = 5;
this.radioButton4.Top = 200;
this.radioButton4.ForeColor = Color.GreenYellow;
this.radioButton4.Enabled = false;
this.label1.Left = 40;
this.label1.Top = 52;
this.label1.Text = "";
this.label2.Left = 40;
this.label2.Top = 102;
this.label2.Text = "";
this.label3.Left = 40;
this.label3.Top = 152;
this.label3.Text = "";
this.label4.Left = 40;
this.label4.Top = 202;
this.label4.Text = "";
this.label5.Left = 5;
this.label5.Top = 20;
this.label5.Text = "";
this.label5.ForeColor = Color.Red;
this.label6.Left = 35;
this.label6.Top = 20;
this.label6.Text = "";
this.listExam.Enabled = false;
this.button2.Enabled = false;
this.button3.Enabled = false;
this.button4.Enabled = false;
this.button5.Enabled = false;
this.toolStripButton1.Enabled = false;
}
///
/// 时间
///
///
///
private void timerDate_Tick(object sender, EventArgs e)
{
this.toolStripLabel2.Text = DateTime.Now.ToString();
}
int j = 600;
///
/// 计时器
///
///
///
private void timerP_Tick(object sender, EventArgs e)
{
j--;
this.toolStripLabel4.Text = j.ToString();
if (j > 60)
{
this.toolStripLabel4.ForeColor = Color.GreenYellow;
}
else
{
this.toolStripLabel4.ForeColor = Color.Red;
}
if (j == 0)
{
this.timerP.Stop();
this.radioButton1.Enabled = false;
this.radioButton2.Enabled = false;
this.radioButton3.Enabled = false;
this.radioButton4.Enabled = false;
this.label1.Enabled = false;
this.label2.Enabled = false;
this.label3.Enabled = false;
this.label4.Enabled = false;
this.listExam.Enabled = false;
this.button1.Enabled = false;
this.button2.Enabled = false;
this.button3.Enabled = false;
this.button4.Enabled = false;
this.button5.Enabled = true;
MessageBox.Show("时间到,请提交试题~");
return;
}
}
///
/// 开始答题
///
///
///
private void button1_Click(object sender, EventArgs e)
{
this.timerP.Start();
this.radioButton1.Enabled = true;
this.radioButton2.Enabled = true;
this.radioButton3.Enabled = true;
this.radioButton4.Enabled = true;
this.label1.Enabled = true;
this.label2.Enabled = true;
this.label3.Enabled = true;
this.label4.Enabled = true;
this.listExam.Enabled = true;
this.listExam.Focus();//第一行默认选中
this.listExam.Items[0].Selected = true;
this.button1.Enabled = false;
this.button2.Enabled = true;
this.button3.Enabled = true;
this.button4.Enabled = true;
this.button5.Enabled = true;
}
///
/// 停止答题
///
///
///
private void button4_Click(object sender, EventArgs e)
{
this.timerP.Stop();
this.radioButton1.Enabled = false;
this.radioButton2.Enabled = false;
this.radioButton3.Enabled = false;
this.radioButton4.Enabled = false;
this.label1.Enabled = false;
this.label2.Enabled = false;
this.label3.Enabled = false;
this.label4.Enabled = false;
this.listExam.Enabled = false;
this.button1.Enabled = true;
this.button2.Enabled = false;
this.button3.Enabled = false;
this.button4.Enabled = false;
this.button5.Enabled = false;
}
///
/// 显示试题表数据
///
public void ListShow()
{
Random random = new Random();
int rand = random.Next(0, 190);
string sql = string.Format(@"select top 10
ExamPaper.SubjectNo,
ExamPaper.SubjectName,
ExamResult.A,ExamResult.B,
ExamResult.C,ExamResult.D,
ExamPaper.TypeID
from ExamPaper
inner join
ExamResult
on
ExamPaper.TypeID=ExamResult.TypeID
and
ExamPaper.SubjectNo=ExamResult.SubjectNo
where ExamPaper.SubjectNo
not in
(select top {0} ExamPaper.SubjectNo from ExamPaper)
and ExamResult.TypeID=
(select TypeID from ExamPaperType
where
ExamPaperType.TypeName like '%{1}%')",
rand, this.tscmbExamType.Text.Substring(0, 3));
try
{
db.openData();
SqlCommand comm = new SqlCommand(sql, db.Conn);
SqlDataReader reader = comm.ExecuteReader();
if (!reader.HasRows)
{
return;
}
else
{
while (reader.Read())
{
string SubjectNo = reader["SubjectNo"].ToString();//题号
string SubjectName = reader["SubjectName"].ToString();//题干
string TypeID = reader["TypeID"].ToString();
string A = reader["A"].ToString();
string B = reader["B"].ToString();
string C = reader["C"].ToString();
string D = reader["D"].ToString();
ListViewItem items = new ListViewItem(SubjectNo);
items.SubItems.Add(SubjectName);
items.SubItems.Add(TypeID);
items.SubItems.Add(A);
items.SubItems.Add(B);
items.SubItems.Add(C);
items.SubItems.Add(D);
this.listExam.Items.Add(items);
}
}
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.closeData();
}
}
///
/// listShow
///
///
///
private void tscmbExamType_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.listExam.Items.Count != 0)
{
this.listExam.Items.Clear();
}
this.timerP.Stop();
j = 600;
this.toolStripLabel4.Text = "00";
this.radioButton1.Enabled = false;
this.radioButton2.Enabled = false;
this.radioButton3.Enabled = false;
this.radioButton4.Enabled = false;
this.label1.Enabled = false;
this.label2.Enabled = false;
this.label3.Enabled = false;
this.label4.Enabled = false;
this.listExam.Enabled = false;
this.rtbExam.Text = "";
this.label1.Text = "";
this.label2.Text = "";
this.label3.Text = "";
this.label4.Text = "";
this.label5.Text = "";
this.label6.Text = "";
this.button1.Enabled = true;
this.button2.Enabled = false;
this.button3.Enabled = false;
this.button4.Enabled = false;
this.button5.Enabled = false;
this.ListShow();
}
string TypeID = "";//类型号
///
/// 显示题干和选项
///
public void ShowExam()
{
if (this.listExam.SelectedItems.Count != 0)
{
this.label5.Text = this.listExam.SelectedItems[0].SubItems[0].Text;
this.rtbExam.Text = this.listExam.SelectedItems[0].SubItems[1].Text;
TypeID = this.listExam.SelectedItems[0].SubItems[2].Text;
this.label1.Text = this.listExam.SelectedItems[0].SubItems[3].Text;
this.label2.Text = this.listExam.SelectedItems[0].SubItems[4].Text;
this.label3.Text = this.listExam.SelectedItems[0].SubItems[5].Text;
this.label4.Text = this.listExam.SelectedItems[0].SubItems[6].Text;
}
else
{
return;
}
}
///
/// 选项
///
///
///
private void listExam_SelectedIndexChanged(object sender, EventArgs e)
{
this.ShowExam();
}
private void button3_Click(object sender, EventArgs e)
{
this.radioButton1.Checked = false;
this.radioButton2.Checked = false;
this.radioButton3.Checked = false;
this.radioButton4.Checked = false;
this.label6.Text = "";
for (int i = 0; i < listExam.Items.Count - 1; i++)
{
if (listExam.Items[i].Selected) // 得到当前选中项,因为这个控件支持多选,所以只能通过遍历得到
{
if (i != 0 || i == 0)
{
listExam.Items[i + 1].Selected = true;
listExam.Select();
break;
}
}
}
}
///
/// 上一题
///
///
///
private void button2_Click(object sender, EventArgs e)
{
this.radioButton1.Checked = false;
this.radioButton2.Checked = false;
this.radioButton3.Checked = false;
this.radioButton4.Checked = false;
this.label6.Text = "";
for (int i = 0; i < listExam.Items.Count; i++)
{
if (listExam.Items[i].Selected) // 得到当前选中项,因为这个控件支持多选,所以只能通过遍历得到
{
if (i != 0)
{
listExam.Items[i - 1].Selected = true;
listExam.Select();
break;
}
}
}
}
///
/// 所选答案
///
public int InsertData()
{
string rightname = "";
if (this.radioButton1.Checked == true)
{
rightname = radioButton1.Text;
}
else if (this.radioButton2.Checked == true)
{
rightname = radioButton2.Text;
}
else if (this.radioButton3.Checked == true)
{
rightname = radioButton3.Text;
}
else if (this.radioButton4.Checked == true)
{
rightname = radioButton4.Text;
}
int result = 0;
string sql = string.Format(@"if exists(select AnswerName from ExamAnswer
where AnswerName='{0}' and TypeID={1} and SubjectNo={2})
begin
if exists (select * from
ExamRight where SubjectNo={3} and TypeID={4})
begin
update ExamRight set
RightType =0, RightDate=GETDATE(), RightName='{5}'
where SubjectNo={6} and
TypeID={7}
end
else
begin
insert into ExamRight
(RightType,SubjectNo,TypeID,RightDate,RightName)values(0,{8},{9},GETDATE(),'{10}')
end
end
else
begin
if exists (select * from ExamRight where SubjectNo={11} and TypeID={12})
begin
update ExamRight set RightType =1,RightDate=GETDATE(), RightName='{13}'
where SubjectNo={14} and TypeID={15}
end
else
begin
insert into ExamRight (RightType,SubjectNo,TypeID,RightDate,RightName)values(1,{16},{17},GETDATE(),'{18}')
end
end", rightname, TypeID, this.label5.Text,
this.label5.Text, TypeID, rightname,
this.label5.Text, TypeID, this.label5.Text,
TypeID, rightname, this.label5.Text,
TypeID, rightname, this.label5.Text,
TypeID, this.label5.Text,
TypeID, rightname);
SqlCommand comm = new SqlCommand(sql, db.Conn);
try
{
db.openData();
result = comm.ExecuteNonQuery();
if (result != 0)
{
this.label6.Text = "答题成功,请继续答题~";
this.label6.ForeColor = Color.GreenYellow;
return result;
}
else
{
this.label6.Text = "答题失败,请重新答题~";
this.label6.ForeColor = Color.Red;
return result;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.closeData();
}
return result;
}
///
/// 总计
///
public void CountExam()
{
string sql = string.Format(@"select COUNT(*) as 总计 from ExamRight where RightType in
(select top 10 RightType
from ExamRight
where TypeID=(select
TypeID from ExamPaperType
where
ExamPaperType.TypeName like '%{0}%')
order by RightDate desc)
and RightType=1 and
TypeID=(select
TypeID from ExamPaperType
where
ExamPaperType.TypeName like '%{1}%') ",
this.tscmbExamType.Text.Substring(0, 3),
this.tscmbExamType.Text.Substring(0, 3));
try
{
db.openData();
SqlCommand comm = new SqlCommand(sql, db.Conn);
SqlDataReader reader = comm.ExecuteReader();
if (!reader.HasRows)
{
return;
}
else
{
while (reader.Read())
{
this.toolStripLabel6.Text = reader["总计"].ToString();
}
}
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.closeData();
}
}
///
/// 提交试卷
///
///
///
private void button5_Click(object sender, EventArgs e)
{
this.button1.Enabled = false;
this.button2.Enabled = false;
this.button3.Enabled = false;
this.button4.Enabled = false;
this.timerP.Stop();
this.radioButton1.Enabled = false;
this.radioButton2.Enabled = false;
this.radioButton3.Enabled = false;
this.radioButton4.Enabled = false;
this.label1.Enabled = false;
this.label2.Enabled = false;
this.label3.Enabled = false;
this.label4.Enabled = false;
this.listExam.Enabled = false;
this.toolStripButton1.Enabled = true;
this.CountExam();
}
private void radioButton1_Click(object sender, EventArgs e)
{
InsertData();
}
private void radioButton2_Click(object sender, EventArgs e)
{
InsertData();
}
private void radioButton3_Click(object sender, EventArgs e)
{
InsertData();
}
private void radioButton4_Click(object sender, EventArgs e)
{
InsertData();
}
///
/// 查看详情
///
///
///
private void toolStripButton1_Click(object sender, EventArgs e)
{
FormMsg f = new FormMsg();
f.Show();
this.Hide();
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
{
FormAbout fa = new FormAbout();
fa.Show();
}
private void FormExam_FormClosing(object sender, FormClosingEventArgs e)
{
}
}
}
次窗体
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic; using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Exam
{
public partial class FormMsg : Form
{
public FormMsg()
{
InitializeComponent();
}
///
/// 调用数据库
///
DataBase db = new DataBase();
///
/// FormMsg
///
///
///
private void FormMsg_Load(object sender, EventArgs e)
{
CenterToScreen();
this.Width = 800;
this.Height = 460;
MaximizeBox = false;
this.groupBox1.Text = "所答题目";
this.groupBox1.BackColor = Color.Transparent;
this.groupBox1.Width = 765;
this.groupBox1.Height = 150;
this.groupBox1.Left = 10;
this.groupBox1.Top = 40;
this.groupBox1.ForeColor = Color.White;
this.Cursor = Cursors.Hand;
this.listView1.GridLines = true;
this.toolStripComboBox1.SelectedIndex = 0;
this.toolStripLabel3.Text = "";
this.groupBox2.Width = 765;
this.groupBox2.Height = 200;
this.groupBox2.Top = 200;
this.groupBox2.Text = "所答题目";
this.groupBox2.BackColor = Color.Transparent;
this.groupBox2.ForeColor = Color.White;
this.groupBox2.Left = 10;
this.richTextBox1.ReadOnly = true;
this.Text = "模拟考试系统";
this.listView1.FullRowSelect = true;
}
///
/// 显示
///
public void ShowList()
{
try
{
string sql = string.Format(@" select top 10
ExamPaper.SubjectNo,ExamPaper.SubjectName,
ExamRight.TypeID,ExamAnswer.AnswerName,
ExamRight.RightName,ExamRight.RightType,ExamRight.RightDate,
ExamResult.A,ExamResult.B,ExamResult.C,ExamResult.D
from
ExamRight
inner join
ExamAnswer
on
ExamAnswer.TypeID=ExamRight.TypeID
and
ExamAnswer.SubjectNo=ExamRight.SubjectNo
inner join
ExamPaper
on
ExamPaper.TypeID=ExamRight.TypeID
and
ExamPaper.SubjectNo=ExamRight.SubjectNo
inner join
ExamResult
on
ExamPaper.TypeID= ExamResult.TypeID
and
ExamPaper.SubjectNo= ExamResult.SubjectNo
where ExamRight.TypeID=
(select TypeID from ExamPaperType
where
ExamPaperType.TypeName like '%{0}%')
order by RightDate desc",
this.toolStripComboBox1.Text.Substring(0, 3));
db.openData();
SqlCommand comm = new SqlCommand(sql, db.Conn);
SqlDataReader reader = comm.ExecuteReader();
if (!reader.HasRows)
{
return;
}
else
{
while (reader.Read())
{
string SubjectNo = reader["SubjectNo"].ToString();
int TypeID = int.Parse(reader["TypeID"].ToString());
string AnswerName = reader["AnswerName"].ToString();
string RightName = reader["RightName"].ToString();
int RightType = int.Parse(reader["RightType"].ToString());
string SubjectName = reader["SubjectName"].ToString();
string RightDate = reader["RightDate"].ToString();
string A = reader["A"].ToString();
string B = reader["B"].ToString();
string C = reader["C"].ToString();
string D = reader["D"].ToString();
ListViewItem items = new ListViewItem(SubjectNo);
items.SubItems.Add(RightName);
items.SubItems.Add(RightDate);
if (TypeID == 1)
{
items.SubItems.Add("计算机等级试题");
}
else if (TypeID == 2)
{
items.SubItems.Add("四六级等级试题");
}
if (RightType == 0)
{
items.SubItems.Add("?");
}
else if (RightType == 1)
{
items.SubItems.Add("?");
}
items.SubItems.Add(SubjectName);
items.SubItems.Add(AnswerName);
items.SubItems.Add(A);
items.SubItems.Add(B);
items.SubItems.Add(C);
items.SubItems.Add(D);
this.listView1.Items.Add(items);
}
}
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.closeData();
}
}
///
/// LIST
///
///
///
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.listView1.SelectedItems.Count != 0)
{
this.toolStripLabel3.Text = this.listView1.SelectedItems[0].SubItems[6].Text;
this.richTextBox1.Text = this.listView1.SelectedItems[0].SubItems[5].Text
+"\nA:"+this.listView1.SelectedItems[0].SubItems[7].Text+"\nB:"+
this.listView1.SelectedItems[0].SubItems[8].Text+"\nC:"+
this.listView1.SelectedItems[0].SubItems[9].Text+"\nD:"+
this.listView1.SelectedItems[0].SubItems[10].Text;
}
}
///
/// 选项
///
///
///
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.toolStripLabel3.Text = "";
this.richTextBox1.Text = "";
this.listView1.Items.Clear();
this.ShowList();
}
private void FormMsg_FormClosed(object sender, FormClosedEventArgs e)
{
FormExam f = new FormExam();
f.Show();
}
///
/// 清扫记录
///
///
///
private void toolStripButton1_Click(object sender, EventArgs e)
{
string sql = "";
SqlCommand comm = null;
if (this.toolStripComboBox1.Text == "计算机等级考试")
{
sql = "delete from ExamRight where TypeID=1 ";
comm = new SqlCommand(sql, db.Conn);
try
{
db.openData();
int result = comm.ExecuteNonQuery();
if (result != 0)
{
this.listView1.Items.Clear();
this.richTextBox1.Clear();
this.toolStripLabel3.Text = "";
ShowList();
MessageBox.Show("清扫成功~");
return;
}
else
{
return;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.closeData();
}
}
else if (this.toolStripComboBox1.Text == "四六级等级考试")
{
sql = "delete from ExamRight where TypeID=2 ";
comm = new SqlCommand(sql, db.Conn);
try
{
db.openData();
int result = comm.ExecuteNonQuery();
if (result != 0)
{
this.listView1.Items.Clear();
ShowList();
MessageBox.Show("清扫成功~");
return;
}
else
{
return;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.closeData();
}
}
}
}
}
附:
软件截图