帮看看哪有问题?

时间:2022-01-20 19:17:56
 帮我看看这段代码哪有问题```
   本人初学ASP  刚刚开始起步连接数据库 
  要连接的是SQL数据库    要求连上数据库  显示表中的数据
<!--#INCLUDE file="ADOVBS.inc"-->
<%Dim Conn,RS
Dim StrSQL
Dim MusicID,MusicName,MusicLevel,MusicStars
%>
<head>
<title>影视在线</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
</head>
<body bgcolor="#ffff">
<%
'建立一个连接对象,并打开与数据源filedata的连接
set Conn=Server.CreateObject("ADODB.connection")
Mydata= "driver={SQL Server};server="woods2001";uid="sa";pwd="5221562";database="mydata"
Conn.Open "Mydata"
'建立一个记录集对象
Set RS=Server.CreateObject("ADODB.Recordset")
%>
<TABLE width="700" border="0" cellspacing="0" cellpadding="0">
<%
StrSQL="select filmID,name,filmlevel,stars from films"
RS.Open StrSQL,Conn,adOpenForWordOnly,adLockReadOnly
while not RS.EOF
MusicID=RS.Fields("filmID").value
MusicName=RS.Fields("name").value
MusicLevel=RS.Fields("filmlevel").value
MusicStars=RS.Fields("stars").value
%>
<TR>
<TD height="21" width="45">
<a href="filmlist.asp?ID=<%=MusicID%>"><%=MusicName%></a>
</TD>
<TD height="21" width="45">
<%=MusicLevel%></a>
</TD>
<TD height="21" width="45">
<%=MusicStars%></a>
</TD>
</TR>
<%
RS.MoveNext
Wend
RS.close
Conn.close
%>
</TABLE>
</body>
  还有```  问下大家  ASP的运行编译环境是什么啊```我都是用IE直接运行  自己再找错误的  相当麻烦呢....
  谢了!

10 个解决方案

#1


Mydata= "driver={SQL Server};server="woods2001";uid="sa";pwd="5221562";database="mydata" 
Conn.Open "Mydata"
改成
Conn.Open Mydata

#2


连接字符串Mydata的赋值也有问题应该是:
Mydata = "driver={SQL Server};server=woods2001;uid=sa;pwd=5221562;database=mydata"
Conn.Open Mydata

#3


<!--#INCLUDE file="ADOVBS.inc"--> 
<%Dim Conn,RS 
Dim StrSQL 
Dim MusicID,MusicName,MusicLevel,MusicStars 
%> 
<head> 
<title>影视在线 </title> 
<meta http-equiv="content-type" content="text/html;charset=gb2312"> 
</head> 
<body bgcolor="#ffff"> 
<% 
'建立一个连接对象,并打开与数据源filedata的连接
set Conn=Server.CreateObject("ADODB.connection")
Mydata= "driver={SQL Server};server=woods2001;uid=sa;pwd="5221562;database=mydata"
Conn.Open Mydata
'建立一个记录集对象
Set RS=Server.CreateObject("ADODB.Recordset")
%>
<TABLE width="700" border="0" cellspacing="0" cellpadding="0">
<%
StrSQL="select filmID,name,filmlevel,stars from films"
RS.Open StrSQL,Conn,1,1
if not RS.EOF then '最好加上这句,避免没有数据时出错。

while not RS.EOF
MusicID=RS("filmID")
MusicName=RS("name")
MusicLevel=RS("filmlevel")
MusicStars=RS("stars")

%> 
<TR> 
<TD height="21" width="45"> 
<a href="filmlist.asp?ID= <%=MusicID%>"> <%=MusicName%> </a> 
</TD> 
<TD height="21" width="45"> 
<%=MusicLevel%> </a> 
</TD> 
<TD height="21" width="45"> 
<%=MusicStars%> </a> 
</TD> 
</TR> 
<% 
RS.MoveNext
Wend
end if
RS.close
Conn.close 
set RS=nothing
set Conn=nothing

%> 
</TABLE> 
</body>

#4


<a href="filmlist.asp?ID= <%=MusicID%>"> <%=MusicName%> </a> 
  这句什么意思啊?
   最好有一个程序成功运行的截图

#5


<!--#INCLUDE file="ADOVBS.inc"--> 是什么意思
  ADOVBS.inc 这个文件都有什么用
 加不加这个有什么区别?

#6


回4楼:

表示点击MusicName时打开filmlist.asp页面,同时传递了一个变量ID。
这样在filmlist.asp页面就可以根据传递的ID查询数据库,输出ID=MusicID的记录。

回5楼:

简单点理解就是将ADOVBS.inc中的代码全部引用到本页来运行。这种做法的好处就是在多个页面都要输入相同的一段代码时非常方便。只需要将这段代码单独保存为一个文件,然后引用。

一个简单的例子:
1、新建一个1.asp文件,内容为 "这里1.asp中的内容"
2、再建一个2.asp文件,内容为:
<body>
<!--#include file="1.asp"-->
<p>这是index.asp中的内容</p>
</body>
3、运行2.asp你就会明白了。

#7


 o ``  谢了~
   大致明白了 `还需要自己动手实现一下``
  
  再问一个问题``  帮我看下这段代码~~~  找了很久 找不出错误...



<head>
<title>Show Table films</title>
</head>
<body>
<%
set Conn=server.CreateObject("ADODB.Connection")
Mydata="Provider=SQLOLEDB;Data Source=WOODS2001;Initial Catalog=mydb;User 

ID=sa;Password=5221562;"
Conn.open Mydata
set RS=Conn.Execute("Select * from films")
%>
<table border=1>
<tr>
<% for i=0 to RS.Fields.Count-1 %>
<th><% =RS(i).name %></th>
<% next %>
</tr>
<% while not RS.EOF %>
<tr>
<% for i=0 to RS.Fields.Count-1 %>
<td><% RS(i) %></td>
<% next %>
</tr>
<%
RS.movenext
Wend
RS.close
Conn.close
%>
</table>
</body>

#8


RS(i).name 改为RS("name ")
RS.Fields.Count改为rs.recordcount
再试呢,我也是菜鸟,我一般都这样写

#9


引用 8 楼 salangane0954 的回复:
RS(i).name 改为RS("name ") 
RS.Fields.Count改为rs.recordcount 
再试呢,我也是菜鸟,我一般都这样写



RS(i).name 我要输出的是记录集中第I个项目的名字  而不是name这一项
  RS.Fields.Count改为rs.recordcount  这两好象没啥差别啊``

#10


     解决了~
  封贴~~

#1


Mydata= "driver={SQL Server};server="woods2001";uid="sa";pwd="5221562";database="mydata" 
Conn.Open "Mydata"
改成
Conn.Open Mydata

#2


连接字符串Mydata的赋值也有问题应该是:
Mydata = "driver={SQL Server};server=woods2001;uid=sa;pwd=5221562;database=mydata"
Conn.Open Mydata

#3


<!--#INCLUDE file="ADOVBS.inc"--> 
<%Dim Conn,RS 
Dim StrSQL 
Dim MusicID,MusicName,MusicLevel,MusicStars 
%> 
<head> 
<title>影视在线 </title> 
<meta http-equiv="content-type" content="text/html;charset=gb2312"> 
</head> 
<body bgcolor="#ffff"> 
<% 
'建立一个连接对象,并打开与数据源filedata的连接
set Conn=Server.CreateObject("ADODB.connection")
Mydata= "driver={SQL Server};server=woods2001;uid=sa;pwd="5221562;database=mydata"
Conn.Open Mydata
'建立一个记录集对象
Set RS=Server.CreateObject("ADODB.Recordset")
%>
<TABLE width="700" border="0" cellspacing="0" cellpadding="0">
<%
StrSQL="select filmID,name,filmlevel,stars from films"
RS.Open StrSQL,Conn,1,1
if not RS.EOF then '最好加上这句,避免没有数据时出错。

while not RS.EOF
MusicID=RS("filmID")
MusicName=RS("name")
MusicLevel=RS("filmlevel")
MusicStars=RS("stars")

%> 
<TR> 
<TD height="21" width="45"> 
<a href="filmlist.asp?ID= <%=MusicID%>"> <%=MusicName%> </a> 
</TD> 
<TD height="21" width="45"> 
<%=MusicLevel%> </a> 
</TD> 
<TD height="21" width="45"> 
<%=MusicStars%> </a> 
</TD> 
</TR> 
<% 
RS.MoveNext
Wend
end if
RS.close
Conn.close 
set RS=nothing
set Conn=nothing

%> 
</TABLE> 
</body>

#4


<a href="filmlist.asp?ID= <%=MusicID%>"> <%=MusicName%> </a> 
  这句什么意思啊?
   最好有一个程序成功运行的截图

#5


<!--#INCLUDE file="ADOVBS.inc"--> 是什么意思
  ADOVBS.inc 这个文件都有什么用
 加不加这个有什么区别?

#6


回4楼:

表示点击MusicName时打开filmlist.asp页面,同时传递了一个变量ID。
这样在filmlist.asp页面就可以根据传递的ID查询数据库,输出ID=MusicID的记录。

回5楼:

简单点理解就是将ADOVBS.inc中的代码全部引用到本页来运行。这种做法的好处就是在多个页面都要输入相同的一段代码时非常方便。只需要将这段代码单独保存为一个文件,然后引用。

一个简单的例子:
1、新建一个1.asp文件,内容为 "这里1.asp中的内容"
2、再建一个2.asp文件,内容为:
<body>
<!--#include file="1.asp"-->
<p>这是index.asp中的内容</p>
</body>
3、运行2.asp你就会明白了。

#7


 o ``  谢了~
   大致明白了 `还需要自己动手实现一下``
  
  再问一个问题``  帮我看下这段代码~~~  找了很久 找不出错误...



<head>
<title>Show Table films</title>
</head>
<body>
<%
set Conn=server.CreateObject("ADODB.Connection")
Mydata="Provider=SQLOLEDB;Data Source=WOODS2001;Initial Catalog=mydb;User 

ID=sa;Password=5221562;"
Conn.open Mydata
set RS=Conn.Execute("Select * from films")
%>
<table border=1>
<tr>
<% for i=0 to RS.Fields.Count-1 %>
<th><% =RS(i).name %></th>
<% next %>
</tr>
<% while not RS.EOF %>
<tr>
<% for i=0 to RS.Fields.Count-1 %>
<td><% RS(i) %></td>
<% next %>
</tr>
<%
RS.movenext
Wend
RS.close
Conn.close
%>
</table>
</body>

#8


RS(i).name 改为RS("name ")
RS.Fields.Count改为rs.recordcount
再试呢,我也是菜鸟,我一般都这样写

#9


引用 8 楼 salangane0954 的回复:
RS(i).name 改为RS("name ") 
RS.Fields.Count改为rs.recordcount 
再试呢,我也是菜鸟,我一般都这样写



RS(i).name 我要输出的是记录集中第I个项目的名字  而不是name这一项
  RS.Fields.Count改为rs.recordcount  这两好象没啥差别啊``

#10


     解决了~
  封贴~~