我有一个Microsoft Access表,只有一列包含URL。我需要检查并查看该表中是否存在URL。这样做的最佳方式是什么?
答案 0 :(得分:2)
使用COUNT
进行简单选择应该可以解决问题:
SELECT COUNT(*)
FROM myTableWithUrl
WHERE URL='http://www.stackoverflow.com'
此查询将始终返回包含一个整数列的单行。零表示该URL不存在;任何其他数字表示该URL在那里。
如果在URL列上定义索引,查询可能会更快。
答案 1 :(得分:1)
我会选择
select count(*) records
from yourtable
where url = something
答案 2 :(得分:1)
这是您的类代码,其中 columnname 是包含Url值的列的名称。
Imports System.Data.Oledb
Dim con As New OledbConnection("Provider=microsoft.Jet.oledb.4.0DataSource=D:\mydata.mdb;")
Dim cmd As New OledbCommand
Public var1 As String
Public url As String
Public Sub New()
con.Open()
cmd.Connection = con
cmd.CommandText = "SELECT COUNT(*) FROM table1 WHERE *columnname* ="+url
Dim result = cmd.ExecuteScalar()
if Convert.ToInt32(result) = 0 Then //YourStuff
End Sub
答案 3 :(得分:1)
在性能方面best
方式是获得第一个匹配记录。计算所有记录意味着您必须在返回结果之前浏览所有匹配的记录。最有效的解决方案是在找到第一个匹配记录后停止处理,因为当你在第一次匹配后得到答案时,没有必要对所有记录进行计数。
可以使用此查询完成:
SELECT TOP 1 URL FROM TABLE
WHERE URL = 'http://www.stackoverflow.com'
如果你得到URL
,那么网址就在那里。如果你得到一个空的结果集,那么它不是。理想情况下,URL
已编入索引。