如何读取一个数据库列中的所有数据[英] How to read all data in a database column

问题描述

我环顾网络,试图找到循环访问我的访问数据库表中的列的最佳方法.我想知道是否有比我尝试使用的更灵活的方法.


代码:

Dim conn = New OleDbConnection ("连接字符串")连接打开()Dim CMD as new oleDb.oleDbCommand("Select * from Sig Database", Conn, Conn.BeginTransaction)Dim DR = CMD.ExecuteReaderDo While DR.ReadDim V1 = DR.item("Sig")Dim V2 = DR.item("威胁")Dim V3 = DR.item("病毒名称")DataGridview1.Rows.Add(V1, V2, V3)循环博士关闭Conn.Close()



简而言之,我希望比较计算机上每个文件中的字符串,以查看它是否与我的访问数据库中的字符串匹配.如果为 true,则将找到的匹配字符串添加到列表框.

非常感谢您提前

出于好奇,还有一个小问题:

我想知道是否有等效于流阅读器但用于访问数据库的工具?也许文件流?或任何从字符串搜索中获得更好性能的方法?

推荐答案

正确的做法是,首先,只读取您需要的数据,其次,让 DB做它的工作.因此,您应该运行 SQL 来询问列是否包含您想要的值,而不是获取所有数据并在代码中进行字符串比较.

假设您的数据库中必须有信息, 这.像你一样循环不是一个坏选择.
添加到一些集合而不是 datagridview 会更好 - 因为我猜你真的不想看到数据?
我猜您将在文件中流式传输并通过您的 datagridview 查找匹配项?如果您有很多 sig 或很多文件,那会很慢,所以您希望尽可能高效.

所以 - 将 sig 威胁和名称存储在某个集合中,例如 List(of VirusDefinition)
然后您可以迭代该列表...
For 每个 vid as VirusDefinition in myVirusDefinitionsIf myTextFileInAString.Contains(vid.Sig) 然后任何你想要的to 结束 如果下一个

本文地址:https://www.itbaoku.cn/post/1394976.html