2015-04-24 2 views
1

Использование ADO через VB6, мне трудно работать с командой LIKE в файле с параметризованным запросом файла доступа.VB6 - ADO-LIKE Параметрированный запрос - Access DB

Dim strSQL As String 
    strSQL = "SELECT * FROM [MY_TABLE] WHERE [MY_TEXT_COLUMN_NAME] LIKE %?%" 

Dim conn As ADODB.Connection 
Set conn = New ADODB.Connection 

    conn.ConnectionString = _ 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DATABASE_PATH & ";Persist Security Info=False;" 

    conn.Open 

Dim adoCommand As ADODB.Command 
Set adoCommand = New ADODB.Command 

    With adoCommand 
     .ActiveConnection = conn 
     .CommandType = adCmdText 
     .CommandText = strSQL 
     .Prepared = True 
     .Parameters.Append .CreateParameter(, adVarChar, adParamInput, 255, strMYTEXT) 

     Dim rs As ADODB.Recordset 
     Set rs = .Execute 
    End With 

возвращает пустой рекорд не уверен, что здесь нужны подстановочные знаки, но я просто не мог найти правильный путь, чтобы разместить их.

ответ

1

Найдено.

strSQL = "SELECT * FROM [MY_TABLE] WHERE [MY_TEXT_COLUMN_NAME] LIKE %?%" 

на самом деле должно быть

strSQL = "SELECT * FROM [MY_TABLE] WHERE [MY_TEXT_COLUMN_NAME] LIKE '%' + ? + '%'" 

, что решил.