c#连接sqlite分页显示实用教程_第1页
c#连接sqlite分页显示实用教程_第2页
c#连接sqlite分页显示实用教程_第3页
c#连接sqlite分页显示实用教程_第4页
c#连接sqlite分页显示实用教程_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、转载请注明出处!min20062020。源码下载:该版本还有需要改进之处,下一版本进行修改。一、 准备工作1. 创建应用,布局界面。创建C# windows应用程序,名为CSharp_Sqlite,将设计界面上布局groupBox,用于显示学生信息,拖入显示控件dataGridView1和菜单控件bindingNavigator1。另外添加两个button,用于查看学生信息和退出。如下图:注:bindingNavigator1的默认属性是在界面的上方,习惯性操作在下方,因此修改其Dock属性,设置为Buttom。2. 添加sqlite运行环境的引用。由于VS并不自带sqlite.Net,因此需

2、要自行安装和添加。步骤如下:1) 安装sqlite.Net解压后,安装“附加文件”目录下的SQLite--setup.exe即可。或到以下链接下载:2) 添加sqlite引用在选项 “项目”- “添加引用”中,找到System.Data.SQLite,确定添加。此时可看到左侧项目的“引用”中,出现System.Data.SQLite。【注意】选中该引用,在该引用的属性界面上,将“复制本地”设置为“true”,这样运行之后,可将sqlite.dll从引用处拷贝到项目下,防止出现找不到 System.Data.SQLite的错误。 3. 添加sqlite数据库表新建项目文件夹DB,

3、添加现有项studentInfo.db3。(需事先创建并插入数据,下载项目中有此文件,若没有,可参考附录中的SQL语句) 【注意】选中该数据库,在其属性界面上,将“复制到输出目录”设置为“始终复制”,为防止出现找不到db文件的错误。二、 数据的显示在使用数据库相关语句之前,必须在代码文件之前添加引用空间名称:using System.Data.SQLite;1. 添加数据库查询代码创建函数获取数据库信息,主要包括三个部分:打开数据库连接、执行sql语句,断开连接。其主要代码为:【可运行代码请查看项目源码】public DataTable SelectDB()string dbPath = DB

4、/studentInfo.db3;/*打开数据库连接*/string strconn = Data Source = + dbPath + ;SQLiteConnection sqlconn = new SQLiteConnection(strconn); /创建连接sqlconn.Open(); /打开连接/*执行sql命令*/string strSQL = select * from studentInfo;SQLiteDataAdapter sqd = new SQLiteDataAdapter(strSQL, sqlconn);DataTable dt = new DataTable(

5、);sqd.Fill(dt); /将SQL语句执行结果放入dt中 /*关闭连接*/ sqlconn.Close(); return dt;2. 添加查询按钮实现代码双击设计界面上的“查看”按钮,将自动生成该按钮的事件实现函数,并自动跳转到该函数内。代码主要包括以下内容:【可运行代码请查看项目源码】1) 调用SelectDB(),并保存其返回值:DataTable stuDT = new DataTable();stuDT = SelectDB();2) 处理返回值为空或其他异常情况/*处理数据库无数据的情况*/if (stuDT = null | stuDT.Rows.Count = 0)Me

6、ssageBox.Show(没有学生信息可显示!);3) 测试sqlite连接,将结果显示在dataGridView1中。之后还要做修改。/*为dataGridView1绑定数据源*/this.dataGridView1.DataSource = stuDT;运行程序,点击“查看”按钮,即可查看数据库内容:另外,根据显示内容进行界面的长宽调节。宽度调节到不留下右侧空白即可,长度调节到能显示10行即可,之后的用于分页显示。也可根据实际情况调节。【注1】若不希望显示左侧的空白列,将其界面属性RowHeadersVisiable设置为false。【注2】另外,该项目仅显示信息,不希望用户修改内容或格

7、式,因此对以下属性进行设置:l AllowUserToAddRows:falsel AllowUserToDeleteRows:falsel AllowUserToResizeRows:falsel ReadOnly:true三、 分页设置1. 布局菜单栏在设计页面选中bindingNavigator1,右键-“编辑项”,进入页面编辑项,删除原有菜单部署,按照下图所示重新部署:即依次添加以下属性:属性对应名称备注LabeltoolStripLabel1显示“上一页”SeparatorbindingNavigatorSeparator分隔符TextBoxtoolStripTextBox1显示当前

8、页数LabeltoolStripLabel2显示总页数SeparatorbindingNavigatorSeparator1分隔符LabeltoolStripLabel3显示“下一页”另外,可在dataGridView1上方,加入两个Label控件,用于显示总记录条数。2. 初始化页面首先,添加控件bindingSource1,作为bindingNavigator1和dataGridView1的缓存数据源。创建函数InitDataSet(),初始化菜单控件bindingNavigator1,并载入信息到显示控件dataGridView1中。private void InitDataSet()p

9、ageSize = 10; /设置页面行数total = stuDT.Rows.Count;pageCount = (total / pageSize); /计算出总页数if (total % pageSize) 0)pageCount+;pageCurrent = 1; /当前页数从开始currentRow = 0; /当前记录数从开始/*载入DataTable保存的数据库信息*/LoadData();/*载入DataTable保存的数据库信息*/private void LoadData()int nStartPos = 0; /当前页面开始记录行int nEndPos = 0; /当前页

10、面结束记录行DataTable dtTemp = this.stuDT.Clone(); /克隆DataTable结构框架if (pageCurrent = pageCount)nEndPos = total;elsenEndPos = pageSize * pageCurrent;nStartPos = currentRow; /*将对应信息显示在菜单栏和总数统计Label中*/ toolStripLabel2.Text = / + pageCount.ToString(); if (stuDT.Rows.Count = 0) toolStripTextBox1.Text = 0; else

11、 toolStripTextBox1.Text = Convert.ToString(pageCurrent); this.label2.Text = total.ToString(); /*从元数据源复制记录行*/ if (stuDT.Rows.Count != 0) for (int i = nStartPos; i = 0)pageCurrent-;if (pageCurrent = 0)pageCurrent+;MessageBox.Show(已经是第一页!);return;elsecurrentRow = pageSize * (pageCurrent - 1);LoadData()

12、; /重新加载 /*“下一页”按钮响应*/if (e.ClickedItem.Text = 下一页) if (pageCurrent pageCount)pageCurrent-;MessageBox.Show(已经是最后一页!);return;elsecurrentRow = pageSize * (pageCurrent - 1);LoadData(); /重新加载运行程序,测试功能:到此,基本功能已经实现啦!四、 界面美化1. 添加界面图标下面给界面添加一个图标,简单的美化一下吧。在主界面Form1的属性界面上,点击Icon后的按钮,选择喜欢的图片作为界面。再将其Text属性的“Form

13、1”取个名字吧。2. 添加项目图标为了将自己的程序与其他程序进行区分,可添加一个项目图标。首先,VS菜单栏,“项目”-“属性”-“应用程序”点击“图标”后面的按钮,添加图片即可。五、 编译设置如何让该exe文件在未安装Sqlite.Net的机器上运行?由于引用了外部的sqlite.dll,因此在未安装Sqlite.Net的机器上运行运行该exe文件则可能出错,这时,可在项目属性“生成”中,将目标平台改为X86,该exe文件就可自动引用其同目录下的System.Data.SQLite.dll文件。最后运行程序,完成项目!六、 附录:sqlite数据库语句1. 创建数据库CREATE TABLE studentInfo( stuNum varchar2(32) not null, stuName varchar2(32) not null, stuAge INTEGER not null,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论