我帮同学做一个成语字典,可是用SQL查询的时候却不支持模糊的查询,例:select * from 表名 where(word='一*')
在VB里运行会出错,但在数据管理器里是可用的
我该怎么办呢?有没有带参的查询方法?

解决方案 »

  1.   

    同意楼上的说法
    而且 LIKE有很多参数可以设置你想要的模糊查询结果找一本 SQL SERVER2000的书看上五分钟(关于LIKE部分)
    问题就解决了偶现在有别的事情,如楼主没有答案偶下午给你写上
      

  2.   

    select * from 表名 whereword like '一%'
      

  3.   

    select * from 表名 where word like '一%'
      

  4.   

    用like来做。
    一个示例:
    Private Sub Command1_Click()
       Dim SQLstr As String, tempsqlstr As String, msgstring As String
       Dim i As Integer
       
       For i = 0 To 2
          Call Check1_Click(i)
       Next i
       SQLstr = ""
       
       If (Check1(0).Value = vbChecked) And Combo1(0).List(Combo1(0).ListIndex) <> Trim("模糊等于") Then
          SQLstr = "xm" & Trim(Combo1(0).Text) & "'" & Trim(Text1(0).Text) & "'"
       Else
          If (Check1(0).Value = vbChecked) And Combo1(0).List(Combo1(0).ListIndex) = Trim("模糊等于") Then
             SQLstr = "xm like '%" & Trim(Text1(0).Text) & "%'"
          Else
             SQLstr = ""
          End If
       End If
       
       tempsqlstr = "jszh" & Trim(Combo1(1).Text) & "'" & Trim(Text1(1).Text) & "'"   If Check1(1).Value = vbChecked Then
          If Trim(SQLstr) = "" Then
             SQLstr = tempsqlstr
          Else
             SQLstr = SQLstr & " And " & tempsqlstr
          End If
       End If
       
       tempsqlstr = "bzrq" & Trim(Combo1(2).Text) & "'" & Trim(Text1(2).Text) & "'"
       
       If Check1(2).Value = vbChecked Then
          If Trim(SQLstr) = "" Then
             SQLstr = tempsqlstr
          Else
             SQLstr = SQLstr & " And " & tempsqlstr
          End If
       End If
       
       tempsqlstr = "czy" & Trim(Combo2.Text) & "'" & Trim(Combo3.Text) & "'"
       If Check2.Value = vbChecked Then
          If Trim(SQLstr) = "" Then
             SQLstr = tempsqlstr
          Else
             SQLstr = SQLstr & " And " & tempsqlstr
          End If
       End If
       
        If Trim(SQLstr) = "" Then
          MsgBox "你没有设置查询条件,请重新设置查询条件!!!", vbOKOnly + vbExclamation, "提示"
          Exit Sub
        End If
        
       On Error GoTo queryerror
       
       Set rss = New ADODB.Recordset
       If Option1(0).Value = True Then
          SQLstr = "select * from readerinfo where " & SQLstr
          Set rss = ExecuteSQL(SQLstr, msgstring)
          Set DataGrid1(0).DataSource = rss
          DataGrid1(0).Refresh
       Else
          If Option1(1).Value = True Then
             SQLstr = "select * from delreaderinfo where " & SQLstr
             Set rss = ExecuteSQL(SQLstr, msgstring)
             Set DataGrid1(1).DataSource = rss
             DataGrid1(1).Refresh
          End If
       End If
       If rss.BOF And rss.EOF Then
          MsgBox "数据库中查无此记录!!!", vbOKOnly + vbInformation, "信息"
          Exit Sub
       Else
          rss.MoveLast
          rss.MoveFirst
          MsgBox "本次操作共查询到" & rss.RecordCount & "条记录!!!", vbOKOnly + vbInformation, "信息"
       End If
       
       Exit Sub
       
    queryerror:
       MsgBox "查询条件不能为空!!!", vbOKOnly + vbCritical, "错误"
       Exit Sub
       
    End Sub