当前位置:编程学习 > VB >>

怎么快速查询数据库?

想请教各位一个问题:
现有大量的词语,想录入到一个数据库中去(除MySQL之外的数据库都可以,甚至也可以就是一个文件做数据库)。要求是,用户输入一个词,然后程序能够判断这个词是否在数据库中也存在。

PS:这个数据库会比较大,数据条目比较多,要求资源占用不能太多。能有代码贴上最好了。
谢谢各位。 要求判断的是在所有数据库中所有表所有字段记录中是否存在?还是就是某个字段?如果是的话那么就建立索引,然后sql标准语句查询吧。 多大量的数据阿?

建立相应的索引可以提高搜索速度
引用楼主 woakmp 的回复:
想请教各位一个问题:
现有大量的词语,想录入到一个数据库中去(除MySQL之外的数据库都可以,甚至也可以就是一个文件做数据库)。要求是,用户输入一个词,然后程序能够判断这个词是否在数据库中也存在。

PS:这个数据库会比较大,数据条目比较多,要求资源占用不能太多。能有代码贴上最好了。
谢谢各位。


这个……
你还是用汉字的拼音简码做一个 快捷 字段,然后检索。对数据量大(大于10^4后开始明显)的汉字表来说,能大幅度提高效率。
“你好”-->“NH”
“朋友”-->“PY”
多大不得而知,如果要求不高就用文本文档得了. 不然,用个access数据库.
数据少的话,用词典也是不错的选择. 它还有个exists方法可以判断. 用文本方式操作吧,操作简单速度还行。测试了下,在数据为几十万行的情况下,添加的话感觉不到时间延迟。注意每个数据放一行。
假设数据放在c:\dic.txt,要添加的数据为123456,通过函数addData来添加,成功返回true,失败返回false
Private Sub Command1_Click()
    MsgBox addData("123456")
End Sub

Function addData(d1$) As Boolean
    Dim s$
    Open "c:\dic.txt" For Input As #1
    s = StrConv(InputB$(LOF(1), #1), vbUnicode)
    Close #1
    
    If InStr(vbCrLf & s, vbCrLf & d1 & vbCrLf) > 0 Then
        addData = False
    Else
        Open "c:\dic.txt" For Append As #1
        Print #1, d1
        Close #1
        addData = True
    End If
End Function
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,