楼主的问题暂时无法回答,不过另外有个问题:
sql语句改为"select * from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'"
sql语句改为"select * from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'"
解决方案 »
- VB6程序 调试模式完全通过但编译后说数组越界是怎么回事?
- 看了好多种语法,有些迷茫
- 两个一维数组合并一个两维数组,只能自己编程吗?
- vb用什么方式下载文件好?
- 跪求VB6.0最新补丁程序(sp5)下载地址
- 怎么用我的程序去遍历别的程序上的控件~~???
- 谁能将下面一段C代码改成VB的,急???
- 急!!用vba(access)怎样能把sql数据库中表的一些记录形成一个查询,写入access中呢?就象在access中建一个查询一样
- 大家好,在win98下有PWS,在NT,2000Server下有IIS,在win2000 professional下用什么?
- vb掉用VC的DLL
- MDI窗体菜单显示的问题,急!散分!
- vb在调用excel时如何去掉excel弹出的对话框
但最好是:
"select * from 酒店 where 省份='" & Text3.Text & "' and 酒店名称='" & Text4.Text & "' and 星级='" & Text5.Text & "'"
修改后的程序:
Dim Dbmy As Database
Dim Rsmy As Recordset
Dim Spath As String
Spath = App.Path + "\" + "db2.mdb"
Set Dbmy = OpenDatabase(Spath, False, True)
Set Rsmy = Dbmy.OpenRecordset("select * from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'", dbOpenDynaset)
If Rsmy.EOF = True Then
MsgBox ("没有这样的酒店")
Else
Text1.Text = Rsmy.Fields(0)
Text2.Text = Rsmy.Fields(1)
MsgBox ("查找成功")
End If
Rsmy.Close
Dbmy.Close
每次都查找不到。
我从数据库中copy出一个酒店名字,然后放如text4,但是就是没有记录可以查找到。
:Set Rsmy = Dbmy.OpenRecordset("select 酒店 from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'", dbOpenDynaset)
还是不行!
Set Rsmy = Dbmy.OpenRecordset( "select * from 酒店 where 省份=' " + Text3.Text + "' and 酒店名称=' " + Text4.Text + "' and 星级=' " + Text5.Text + "' ", dbOpenDynaset) 是不是表的名字也要加引号哦?
Dim Rsmy As ADO.Recordset
DIM CMD AS ADO.COMMAND
Dim Spath As String
DIM SQL AS STRING
Spath = App.Path + "\" + "db2.mdb"
Set Dbmy = OpenDatabase(Spath, False, True) SQL="SELECT * FROM HOTEL WHERE PROVINCE="
SQL=SQL & "'"& TRIM(TEXT3.TEXT) &"'" & " AND "
SQL=SQL & "HOTELNAME="
SQL=SQL & "'"& TRIM(TEXT4.TEXT) &"'" & " AND "
SQL=SQL & "LEVEL="
SQL=SQL & "'"& TRIM(TEXT5.TEXT) &"'"
MSGBOX SQL '调试SQL语句用
'********未必要加,不知道你的全部代码,ADO?****
'With Cmd
' .ActiveConnection = Dbmy
' .CommandTimeout = 0
' .CommandText = Sql
'End With
'************************************************
Set Rsmy = Dbmy.OpenRecordset(SQL, dbOpenDynaset)
If NOT Rsmy.EOF Then
MsgBox "成功",,"信息"
IF ISNULL(RS.FIELDS("TEXT1要显示的字段名"))=FALSE THEN
Text1.Text = Rsmy.RS.FIELDS("TEXT1要显示的字段名")
END IF
IF ISNULL(RS.FIELDS("TEXT2要显示的字段名"))=FALSE THEN
Text1.Text = Rsmy.RS.FIELDS("TEXT2要显示的字段名")
END IF
Else
MsgBox "查找失败!",,"信息"
End If Rsmy.Close
Dbmy.Close
Text1.Text = Rsmy.Fields(0)
Text2.Text = Rsmy.Fields(1)这样的话怎么行??
Dim Rsmy As Recordset
Dim Spath As String
Dim Sql As String
Spath = App.Path + "\" + "db2.mdb"
Set Dbmy = OpenDatabase(Spath, False, True)
Sql = "SELECT * FROM 酒店 WHERE 省份="
Sql = Sql & "'" & Trim(Text3.Text) & "'" & " AND "
Sql = Sql & "酒店名称="
Sql = Sql & "'" & Trim(Text4.Text) & "'" & " AND "
Sql = Sql & "星级="
Sql = Sql & "'" & Trim(Text5.Text) & "'"
MsgBox Sql
Set Rsmy = Dbmy.OpenRecordset(Sql, dbOpenDynaset)
If Rsmy.EOF = True Then
MsgBox ("没有这样的酒店")
Else
Text1.Text = "" + Trim(Rsmy.Fields(""))
Text2.Text = "" + Trim(Rsmy.Fields(1))
MsgBox ("查找成功")
End If
Rsmy.Close
Dbmy.Close
End Sub
运行还是老错误。没有查找到结果。晕死了。
If Rsmy.EOF and rsmy.bof Then
MsgBox ("没有这样的酒店")
Else
Text2.Text = "" + Trim(Rsmy.Fields(1))
*****以上两行错了!!!!!!!!!*****应该
IF ISNULL(RS.FIELDS("TEXT1要显示的字段名"))=FALSE THEN
Text1.Text = Rsmy.RS.FIELDS("TEXT1要显示的字段名")
END IF
IF ISNULL(RS.FIELDS("TEXT2要显示的字段名"))=FALSE THEN
Text1.Text = Rsmy.RS.FIELDS("TEXT2要显示的字段名")
END IF