前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >003 C# 巧做学习强国题库查询工具

003 C# 巧做学习强国题库查询工具

原创
作者头像
职场编码
修改2020-05-25 10:36:49
2.3K0
修改2020-05-25 10:36:49
举报
文章被收录于专栏:Ruby办公自动化Ruby办公自动化
C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

Hey,How are you doing?

我是职场编码,最近你还好吗?

哈哈,我这段时间一直在忙着学习强国。

你知道吗?学习强国里有个栏目叫挑战答题。

题库随机抽题,每天答对10道,才算过关。

这不,我这寻思做一个题库查询工具。

一是为了方便自己学习提升,二是提升自己的效率减少不必要时间损耗。

这个工具,我还真就做出来了。

C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

这期,就跟我一起看看,这个工具如何制作。

准备数据库

因为C#本身不具备存储功能,因此我们需要选择一个数据库软件。

这里,我推荐Access数据库。

理由有三点:

一是办公软件界面化操作,实操即所得。

二是安装办公软件大礼包自带Access,不必重新下载其他数据库软件。

三是与Excel相比,它承载数据量大,操作速度快。

C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

当然,它也有缺点,比如数据量大(>100mb)会经常崩溃。

不过不必担心,把整理好的题库导入Access里。

C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

看这里,1477条数据记录才2.29mb,我们可以放心使用。

界面设计

C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能
  • 输入显示

输入框由两部分组成:

一是Textbox负责文字输入显示部分。

二是由于Textbox无法设置垂直居中,因此在它外面套了一个panel框架充当白底。

C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

具体设置请参照上图。

  • 查询按钮
C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

这个控件需要修改的地方很少,你可以简单了解下。

  • 数据显示

数据显示则是使用了dataGridView控件。

不得不承认,这个控件特别像Access数据库界面。

接着,我们在属性窗口设置一下相关属性。

C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

通过调整控件属性,达到我们的预期效果。

本期,以图文方式给你展示。

控件具体属性对应效果,不一一列示。

今后,如有需要,我希望以视频实操演示方式解释说明。

这样,更方便你理解掌握。

当然,你也可以通过下载源码,自己尝试修改一下我标记底色的属性数值。

私信回复 源码,获得查询工具源码。

编码说明

由于Visual Studio通过拖拽绘制界面,会自动生成一些控件代码。

下面,我只介绍核心代码。

  • 引入命名空间
C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

这次用到的有五个必选命名空间。

  • 准备查询
C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

在创建数据库连接过程中,由于我使用的是Access2016。

因此,我的数据库引擎选的是Microsoft.Jet.OleDb.4.0。

其次,使用Application.StartupPath获取项目所在路径。

第三,string Select = "SELECT * FROM 学习题库 WHERE 题目 like '%" + textBox1.Text + "%'";

表示的是从数据库[学习题库]表中查询与textBox1输入信息模糊匹配内容。

这意味着,你输入的关键词需要前后衔接连贯。

第四,在内存数据库存储、输出过程中的代码。

你也需要重点掌握。

代码语言:javascript
复制
Dtl.Fill(Ds);
            
dataGridView1.DataSource = Ds.Tables[0];
  • 收尾工作
C# 巧做学习强国题库查询工具,职场人必备技能
C# 巧做学习强国题库查询工具,职场人必备技能

我认为设置数据列宽应该会有代码简化操作。

等我学会了,一定在第一时间告知你。

代码语言:javascript
复制
            int i1 = this.dataGridView1.Columns[0].Width = 40;      //设置表格ID宽度
            int i2 = this.dataGridView1.Columns[1].Width = 660;     //设置表格题目宽度
            int i3 = this.dataGridView1.Columns[2].Width = 120;     //设置表格选项A宽度
            int i4 = this.dataGridView1.Columns[3].Width = 120;     //设置表格选项B宽度
            int i5 = this.dataGridView1.Columns[4].Width = 120;     //设置表格选项C宽度
            int i6 = this.dataGridView1.Columns[5].Width = 120;     //设置表格选项D宽度
            int i7 = this.dataGridView1.Columns[6].Width = 30;      //设置表格答案宽度

最后呢,你需要了解一下数据偶数行背景色设置代码

代码语言:javascript
复制
            int i1 = this.dataGridView1.Columns[0].Width = 40;      //设置表格ID宽度
            int i2 = this.dataGridView1.Columns[1].Width = 660;     //设置表格题目宽度
            int i3 = this.dataGridView1.Columns[2].Width = 120;     //设置表格选项A宽度
            int i4 = this.dataGridView1.Columns[3].Width = 120;     //设置表格选项B宽度
            int i5 = this.dataGridView1.Columns[4].Width = 120;     //设置表格选项C宽度
            int i6 = this.dataGridView1.Columns[5].Width = 120;     //设置表格选项D宽度
            int i7 = this.dataGridView1.Columns[6].Width = 30;      //设置表格答案宽度

Color.Lavender是薰衣草色,十六进制颜色代码 #e6e6fa。

这种效果类似于Excel的超级表,推荐你这样设置。

对了,别忘了私信回复 源码,获得工具源代码。

分享经验不易,如果对你有用,记得转发收藏~

我是职场编码,我们下期再见!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备数据库
  • 界面设计
  • 编码说明
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档