C#windows窗体查询,先读取文件信息,再根据条件查询数据并输出结果

是一个小程序,不想连数据库,能不能用一个文件代替?文件中存入的是设备信息,在窗体中输入设备名称,点击查询按钮,怎么样能读出文件中的信息,并根据名称查询设备是否存在,如果有... 是一个小程序,不想连数据库,能不能用一个文件代替?文件中存入的是设备信息,在窗体中输入设备名称,点击查询按钮,怎么样能读出文件中的信息,并根据名称查询设备是否存在,如果有,输出。 展开
 我来答
zhouxiang_1216
2013-12-12 · TA获得超过2590个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1356万
展开全部
这是完全可以的,可以使用多种方案来解决:.txt 文本文件,.csv 逗号分隔值文件,.xls或是.xlsx 电子表格,.xml文档,.mdb的Access数据库文件,.sdf的SQL CE数据库文件等等,以上这些都不需要安装额外的程序,可以直接使用,你还可以直接使用序列化和反序列化生成一个数据文件。
读取方面,针对不同的文件类型使用不同的读取方式,读取完成后的操作就是大同小异了,根据读取到的内容得到一个DataTable或是List<T>列表,然后进行遍历或是循环,查找是否有符合你指定条件的记录,有就显示出来,没有就弹出一个消息框告知用户。
希望对你有帮助,还有疑问或是需要补充问题请追问或是Hi
追问
你能写一下代码吗?不会用datatable,如何读excel到datatable,它是怎么区分不同的列的?然后是查询,结果怎么显示在datagridview里?
追答

根据你的追问写了个示例,演示了如何将Excel文件读取为DataTable,并且显示到DataGridView控件中,附截图和项目,希望对你有帮助。说明如下:

1、项目运行后显示如下界面,此时可点击“.xls”按钮读取Debug目录下的Data.xls这个文件(因为主要是为了说明读取、显示、查找的实现,所以没有使用OpenFileDialog这种方式,要修改也是很简单的):

2、电子表格文件的内容被读取为DataTable之后会显示到窗体上第一个DataGridView控件当中,选择“查询条件”的ComboBox控件中会自动填充这个DataTable中的所有列名,便于进行查找操作:

3、在选择了查询条件,并在TextBox中输入要查找的值以后,点击“查找”按钮,符合条件的记录会被复制到另一个DataTable中,并显示在第二个DataGridView控件里面(没有做大于、小于、相似这些条件,也没有做多条件查询的功能,可参考代码自行实现):

以上就是全部说明,附项目,可自行查看相关代码,希望对你有帮助!

百度网友bafb2fd
2013-12-12
知道答主
回答量:21
采纳率:0%
帮助的人:13.2万
展开全部
可以使用文本,不过要有一定的格式
也可以使用xml或者excel

可以使用 linq查询,
如果每一行是一条记录的话,可以作为一个实体,

把所有的记录导入一个list中
然后通过linq查询
比如:
var a = from jilu in list where jilu.name="要查询的设备名称" select jilu;
大体就是这个样子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落华残香
2013-12-12 · 超过11用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:28.2万
展开全部
把你的数据写在Excel或者CSV里面,用程序读取Excel或者CSV到DataTable同时赋值给DataGridView,查询的时候直接对DataTable做操作。利用Select();方法。再次循环赋值给DataGridView达到效果。建议你用ACCESS或者SQLITE
追问
你能给一下具体过程吗?代码什么的看得比较清楚,谢谢~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式