综合设计实验成语词典查询系统设计.docx

上传人:b****3 文档编号:2945578 上传时间:2022-11-16 格式:DOCX 页数:45 大小:82.72KB
下载 相关 举报
综合设计实验成语词典查询系统设计.docx_第1页
第1页 / 共45页
综合设计实验成语词典查询系统设计.docx_第2页
第2页 / 共45页
综合设计实验成语词典查询系统设计.docx_第3页
第3页 / 共45页
综合设计实验成语词典查询系统设计.docx_第4页
第4页 / 共45页
综合设计实验成语词典查询系统设计.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

综合设计实验成语词典查询系统设计.docx

《综合设计实验成语词典查询系统设计.docx》由会员分享,可在线阅读,更多相关《综合设计实验成语词典查询系统设计.docx(45页珍藏版)》请在冰豆网上搜索。

综合设计实验成语词典查询系统设计.docx

综合设计实验成语词典查询系统设计

综合设计实验成语词典查询系统设计

一、实验目的

1.了解SQL语言各语句的语法与使用方法;

2.掌握DataProvider和DataSet两个核心组件的常用属性、方法的含义及使用方法;

3.掌握利用DataProvider和DataSet两个核心组件实现数据库记录的插入、修改、删除的方法;

4.使学生能够通过老师讲过的内容灵活运用多种控件,实现对简单数据库的维护,能够自行调试,显示或保存实验结果。

并使学生更深入的掌握面向对象程序设计这门课程。

二、基本要求

(1)创建成语词典查询系统所需的表(成语词典表),并能连接上数据库。

(2)完成对所建成语词典表的插入、修改、删除功能

(3)完成对成语的精确和模糊查询

(4)完成对成语词典查询结果保存为Word文档及其导入成语词典。

(5)为完成上述功能,还需运用菜单、工具条等多种控件

三、实验步骤:

1.创建数据库:

打开SQLServerManagementStudio,创建数据库”成语字典库“然后新建一个名为成语字典表的表,如图1所示。

图1

2.创建项目:

在MicrosoftVisualStudio2010中创建一个名为“成语字典应用”的Windows窗体应用程序项目。

3.设计界面:

在空白窗体中添加菜单Button、Label、TextBox、ComboBox、RichTextBox、DataGridView、MenuStrip、SqlConnection、SqlDataAdapter、SqlCommand、SaveFileDialog、OpenFileDialog控件,对控件的属性进行修改,如表1所示。

并且对菜单栏上的选项设置快捷键和访问键。

控件名称

属性

属性值

MenuStrip

Items

浏览(查看所有、保存结果、退出)、查询(精确查询、模糊查询)、添加、删除、修改、退出

Label1

Text

选择查询方式:

GroupBox1

Text

操作界面

Label2

Text

设置查询值:

Label3

Text

显示界面:

Label4

Text

拼音:

Label5

Text

成语:

Label6

Text

备注:

Label7

Text

拼音简写:

Label8

Text

label8

button1

Text

精确查询

button2

Text

模糊查询

button3

Text

添加

button4

Text

修改

button5

Text

删除

button6

Text

导出到Word文件

Button7

Text

从Word文件中导入

comboBox1

Items

拼音、成语、备注、拼音简写

表1控件属性及属性值

图二

图二为进行整体布局后窗体效果图。

4.在Form1.h编写菜单、按钮、标签的事件(单击事件)。

(1)在窗体的头文件中引用System:

:

Data:

:

SqlClient命名空间后,才可以使用该命名空间内定义的如SqlConnection等类的对象。

因此需要在窗体的头文件中添加如下语句:

usingnamespaceSystem:

:

Data:

:

SqlClient;

因为要有文件的导出和导入所以要在命名空间部分加上:

usingnamespaceSystem:

:

IO;

并且在窗体类中要定义一个SqlConnection^类型的对象con,并在Form1类的构造函数中进行初始化。

代码如下所示。

Form1(void)

{

InitializeComponent();

//

//TODO:

在此处添加构造函数代码

//

con=gcnewSqlConnection();

con->ConnectionString=L"DataSource=.;InitialCatalog=成语字典库;IntegratedSecurity=True";//用Connection控件链接到服务器名为”.“数据库名为“成语字典库“,用windows身份验证方式登陆

}

SqlConnection^con;//在窗体的头文件中定义一个con

(2)在视图设计器下点击菜单栏“浏览”双击“查看所有”便进入此按键的单击事件函数下编写代码。

private:

System:

:

Void查看所有ToolStripMenuItem_Click(System:

:

Object^sender,System:

:

EventArgs^e)

{

String^sql="select*from成语字典表";//定义了sql字符串,其内容为sqlsever数据库的查询语句

DataSet^ds=gcnewDataSet();//定义了数据集的对象ds

SqlDataAdapter^ourda=gcnewSqlDataAdapter(sql,con);

try//后面写可能发生的异常事件

{

ourda->Fill(ds,"zd");

this->dataGridView1->DataSource=ds->Tables["zd"];//dataGridView1中显示表中的内容

con->Open();;

if(con->State==ConnectionState:

:

Open)

{

String^sql="selectcount(*)from成语字典表";

SqlCommand^cmd=gcnewSqlCommand(sql,con);

String^myinformation="表中成语的总数是:

"+cmd->ExecuteScalar()->ToString()+"条";

label8->Text=myinformation;//label8显示表中成语的总数

if(con->State==ConnectionState:

:

Open)

con->Close();

}

}

catch(System:

:

Data:

:

SqlClient:

:

SqlException^ex)//显示异常信息

{

MessageBox:

:

Show("数据的异常信息是:

"+ex->Message,"提示信息");

}

}

(3)在视图设计器下点击菜单栏“查询”双击“精确查询”便进入此按键的单击事件函数下编写代码。

private:

System:

:

Void精确查询ToolStripMenuItem_Click(System:

:

Object^sender,System:

:

EventArgs^e)

{

String^sql="select*from成语字典表where"+comboBox1->Text+"='"+textBox1->Text+"'";

MessageBox:

:

Show(sql);//显示sql语句

DataTable^ourtable=gcnewDataTable();

SqlDataReader^rd;

SqlCommand^cmd=gcnewSqlCommand(sql,con);

SqlDataAdapter^ourda=gcnewSqlDataAdapter(sql,con);

if(textBox1->Text=="")

{

MessageBox:

:

Show("请输入要查找成语的相关信息");

return;

}

Try//将查询到的数据添加到富文本框中为导出做准备

{con->Open();

rd=cmd->ExecuteReader();

if(rd->Read())

{

richTextBox1->Text+=rd["拼音"]->ToString()+"\t";

richTextBox1->Text+=rd["成语"]->ToString()+"\t";

richTextBox1->Text+=rd["备注"]->ToString()+"\t";

richTextBox1->Text+=rd["拼音简写"]->ToString()+"\n";

}

}

catch(System:

:

Data:

:

SqlClient:

:

SqlException^ex)

{

MessageBox:

:

Show("数据异常信息是:

"+ex->Errors,"提示信息");

return;

}

finally

{

rd->Close();

if(con->State==ConnectionState:

:

Open)

con->Close();

}

try

{

ourda->Fill(ourtable);

this->dataGridView1->DataSource=ourtable;

}

catch(System:

:

Data:

:

SqlClient:

:

SqlException^ex)

{MessageBox:

:

Show("数据异常信息是:

"+ex->Errors,"提示信息");}

}

(4)在视图设计器下点击菜单栏“查询”双击“模糊查询”便进入此按键的单击事件函数下编写代码。

模糊查询的代码只需将sql查询语句变为String^sql="select*from成语字典表where"+comboBox1->Text+"like'%"+textBox1->Text+"%'";

(5)在视图设计器下双击菜单栏里“添加”项便进入此按键的单击事件函数下编写代码。

private:

System:

:

Void添加ToolStripMenuItem_Click(System:

:

Object^sender,System:

:

EventArgs^e)

{

if(textBox3->Text=="")

{

MessageBox:

:

Show("添加的对象内容不能为空");

return;

}

try

{con->Open();

if(con->State==ConnectionState:

:

Open)

{

String^sql="insertinto成语字典表(拼音,成语,备注,拼音简写)values('"+textBox2->Text+"','"+textBox3->Text+"','"+textBox4->Text+"','"+textBox5->Text+"')";

MessageBox:

:

Show(sql);

SqlCommand^cmd=gcnewSqlCommand(sql,con);

cmd->ExecuteNonQuery();

MessageBox:

:

Show("添加成功记录");

}

}

catch(SqlException^ex)

{

MessageBox:

:

Show("数据的异常信息是:

"+ex->Message,"提示信

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1