首页上一页 1 下一页尾页 2 条记录 1/1页
对象‘Refresh‘的'Iadodc'方法失败 (VB技术方案宝典中的例子)
发表在VB答疑区
2011-02-01
是否精华
是
否
版块置顶:
是
否
程序中有一段代码,是实现汉字和拼音首字母查询的,用汉字查询没有问题.
但是一输入字母马上就出现"[ADODC]未知错误",
点"确定"后出现“对象‘Refresh‘的'Iadodc'方法失败”的错误提示。
该处代码如下:
Text1.Text = Trim(Text1.Text)
Dim sqlstr As String
Dim i As Integer
If Len(Text1.Text) > 0 Then
If Len(Text1.Text) = LenB(StrConv(Text1.Text, vbFromUnicode)) Then
For i = 1 To Len(Text1.Text)
ctohex Mid(Text1.Text, i, 1) 'ctohex是个自定义函数,用于将字母转换成汉字国标码上下限。
sqlstr = sqlstr & "(cast(cast(substring(药品名称," & i & ",1) as varchar) as binary(2)) between " & d & " and " & u & " or substring(药品名称," & i & ",1)='" & Mid(Text1.Text, i, 1) & "'" & ") and "
Next i
If Right(sqlstr, 5) = " and " Then
sqlstr = Left(sqlstr, Len(sqlstr) - 5)
End If
Adodc1.RecordSource = "select * from tb_warehouse_detailed where " & sqlstr
Else
If 2 * Len(Text1.Text) = LenB(StrConv(Text1.Text, vbFromUnicode)) Then
Adodc1.RecordSource = "select * from tb_warehouse_detailed where 药品名称 like '%" & Text1.Text & "%'"
Else
MsgBox "请输入全英文或全汉字", vbCritical
Exit Sub
End If
End If
Debug.Print Adodc1.RecordSource
Adodc1.Refresh '出现错误处
Set DataGrid1.DataSource = Adodc1
End If
上面的代码:是由VB技术方案宝典中的4.2.5例子改SQL 为 ACCESS 数据库的,其它没动,汉字查询正常,用拼音查询就出现上面的错误。
请专家改改.谢谢!!!!!
GUAIWU326@163.COM
注:我是直接用光盘中的例子改的。
但是一输入字母马上就出现"[ADODC]未知错误",
点"确定"后出现“对象‘Refresh‘的'Iadodc'方法失败”的错误提示。
该处代码如下:
Text1.Text = Trim(Text1.Text)
Dim sqlstr As String
Dim i As Integer
If Len(Text1.Text) > 0 Then
If Len(Text1.Text) = LenB(StrConv(Text1.Text, vbFromUnicode)) Then
For i = 1 To Len(Text1.Text)
ctohex Mid(Text1.Text, i, 1) 'ctohex是个自定义函数,用于将字母转换成汉字国标码上下限。
sqlstr = sqlstr & "(cast(cast(substring(药品名称," & i & ",1) as varchar) as binary(2)) between " & d & " and " & u & " or substring(药品名称," & i & ",1)='" & Mid(Text1.Text, i, 1) & "'" & ") and "
Next i
If Right(sqlstr, 5) = " and " Then
sqlstr = Left(sqlstr, Len(sqlstr) - 5)
End If
Adodc1.RecordSource = "select * from tb_warehouse_detailed where " & sqlstr
Else
If 2 * Len(Text1.Text) = LenB(StrConv(Text1.Text, vbFromUnicode)) Then
Adodc1.RecordSource = "select * from tb_warehouse_detailed where 药品名称 like '%" & Text1.Text & "%'"
Else
MsgBox "请输入全英文或全汉字", vbCritical
Exit Sub
End If
End If
Debug.Print Adodc1.RecordSource
Adodc1.Refresh '出现错误处
Set DataGrid1.DataSource = Adodc1
End If
上面的代码:是由VB技术方案宝典中的4.2.5例子改SQL 为 ACCESS 数据库的,其它没动,汉字查询正常,用拼音查询就出现上面的错误。
请专家改改.谢谢!!!!!
GUAIWU326@163.COM
注:我是直接用光盘中的例子改的。