当记录为空的时候执行Rs.open strsql,Conn,1,1就会报错!

simonqsm 2003-10-16 09:40:29
当记录为空的时候,应该怎么写才行?谢谢!
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
avonqin 2003-10-16
  • 打赏
  • 举报
回复
strsql语句在数据库与在asp程序中在写法上有时是不同的
你把这条strsql写出来给我们看看?
Struggling 2003-10-16
  • 打赏
  • 举报
回复
Rs.open strsql,Conn,1,1

if not rs.eof and not rs.bof then
'你写的操作记录集的语句
end if
lxqlogo0 2003-10-16
  • 打赏
  • 举报
回复
Rs.open strsql,Conn,1,1

if not rs.eof then
'你写的操作记录集的语句
end if
simonqsm 2003-10-16
  • 打赏
  • 举报
回复
但是我的strsql语句直接在数据库有写的时候是没有错误的!
avonqin 2003-10-16
  • 打赏
  • 举报
回复
当纪录为空时,Rs.open strsql,Conn,1,1是不会报错的,只有你利用rs记录集输出数据时才报错。
Rs.open strsql,Conn,1,1报错是因为打不开纪录集,可能sql写错了或其他原因
VB电子相册 电子相册 1、数据库连接 Public conn As ADODB.Connection Public Sub conDB() Set conn = New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ & App.Path & "\data\pic.mdb" conn.Open End Sub 2、登录模块 Dim loginTimes As Integer Private rsmc As ADODB.Recordset Private rs As ADODB.Recordset Public userName As String Private Sub cmdExit_Click() Unload Me End Sub Private Sub cmdOK_Click() Call login End Sub Private Sub Form_Activate() Call conDB Set rsmc = New ADODB.Recordset rsmc.CursorLocation = adUseClient rsmc.Open "用户信息表", conn, 0, 1 'need to learn cbUserName.Clear While Not rsmc.EOF cbUserName.AddItem rsmc.Fields("用户名") rsmc.MoveNext Wend cbUserName.SetFocus tbPwd.Text = "" cbUserName.Refresh End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set rs = Nothing End Sub Sub login() Dim strSql As String userName = "" If Trim(cbUserName.Text) = "" Then MsgBox "用户名不用为空,请选择用户名!", vbOKOnly + vbExclamation, "警告" cbUserName.SetFocus Else strSql = "select * from 用户信息表 where 用户名='" & Trim(cbUserName.Text) & "'" Set rs = New ADODB.Recordset rs.Open strSql, conn, 2, 2 If Trim(rs.Fields("密码")) = Trim(tbPwd.Text) Then rs.Close Me.Hide userName = Trim(cbUserName.Text) 'Load frmMain frmMain.Show Exit Sub Else MsgBox "密码不对,请重新输入!", vbOKOnly + vbExclamation, "警告" tbPwd.Text = "" tbPwd.SetFocus End If loginTimes = loginTimes + 1 If loginTimes = 3 Then MsgBox "密码错误已有3次,你不能进入系统!", vbOKOnly + vbQuestion, "提示" Unload Me End If End If End Sub 3、主模块 Private rs As ADODB.Recordset Dim stuNum As Integer Private Sub Form_Activate() Call conDB End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) conn.Close Set conn = Nothing End Sub Private Sub mnuAddPic_Click() frmAddPic.Show End Sub Private Sub mnuDeletePic_Click() frmDeletePic.Show End Sub Private Sub mnuShowpic_Click() frmShow.Show End Sub Private Sub mnuExit_Click() Unload Me End End Sub Private Sub mnuSMPic_Click() frmSMPic.Show End Sub Private Sub mnuUser_Click() Dim frm1 As New frmUser frm1.Show End Sub 4、显示图片模块 Dim str As String Dim rs As ADODB.Recordset Dim rsNum As Integer Dim nextNum As Integer Private Sub cbPic_Click() str = App.Path + "\" Set rs = New ADODB.Recordset Dim strConn As String strConn = "select * from pic where name='" + Trim(cbPic.Text) + "'" rs.Open strConn, conn, 0, 1 str = str + rs.Fields("address").Value 'MsgBox str Image1.Picture = LoadPicture(str) rs.Close End Sub Private Sub CmdNext_Click() nextNum = nextNum + 1 'MsgBox nextNum If nextNum > rsNum - 1 Then nextNum = 0 'MsgBox nextNum End If Dim temp As Integer temp = nextNum Set rs = New ADODB.Recordset rs.Open "pic", conn, 0, 1 ' rs.MoveFirst ' While Not rs.EOF And temp > 0 ' 'rs.MoveNext ' 'temp = temp - 1' ' Wend rs.Move (temp) str = App.Path + "\" str = str + rs.Fields("address").Value cbPic.Text = rs.Fields("name").Value Image1.Picture = LoadPicture(str) rs.Close End Sub Private Sub Form_Load() Call conDB str = App.Path + "\" nextNum = 0 Set rs = New ADODB.Recordset rs.Open "pic", conn, 0, 1 str = str + rs.Fields("address").Value Image1.Picture = LoadPicture(str) cbPic.Clear rsNum = 0 'MsgBox rsNum rs.MoveFirst While Not rs.EOF cbPic.AddItem rs.Fields("name") rsNum = rsNum + 1 rs.MoveNext Wend cbPic.Text = "tu1" rs.Close End Sub
' 与AccessDB相关的连接信息 ' 可以参照它建立您的数据库连接 Dim conn,rs,dbpath Set conn=Server.CreateObject("ADODB.Connection") Set rs=Server.CreateObject("ADODB.RecordSet") dbpath=Server.MapPath("mdb/db1.mdb") conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&dbpath 读数据库相关操作 dim strsql strsql="select * from stu_info" rs.open strsql,conn,1,1 '打开数据库,使用strsql变量中的路径 if rs.EOF then response.write "no record at all" 'rs.EOF遍历记录RS中是否用数据,无数据返回真 else response.write "" response.write "" for i=0 to rs.Fields.Count-1'rs.Fields.Count-1记录RS中的记录条数减去1 response.write "" next
<% '以下是设定请求的ID跳转,如果请求的ID为空或无ID请求就跳转到sitemap.html strid=Request("id") if strid="" or not isnumeric(strid) then Response.Redirect ("http://www.52steel.com/sitemap.html") response.End end if set rs=server.CreateObject("ADODB.Recordset") strSql="select id,biaoti,time,neirong from info where 2=2 and infono="&strid&"" rs.Open strSql,conn,3 if rs.EOF then rs.close set rs=nothing conn.close set conn=nothing Response.Redirect ("http://www.52steel.com/sitemap.html") response.end end if strbiaoti = rs("biaoti") strtime = rs("time") strneirong = rs("neirong") %> <%=<em>str</em>biaoti%>

<%=strbiaoti%>

<%=time%>

<%=neirong%>

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

"&rs.Fields(i).Name&"