雅安草坝军区:请 帮我看看这段代码

来源:百度文库 编辑:高校问答 时间:2024/04/29 05:49:29
<html>
<head>
<title>Recordset</title>
</head>
<body>
<%
Dim cn,rs,sql 'sql是用来表示SQL查询的字符串变量
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Driver={SQL Server};Server=home;Database=ASPTest;" & _
"UID=sa;PWD=841105"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM Chapter1",cn
%>
<p align="center">新增记录注册ID列表</p>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#111111" width="336" align=center>
<tr>
<td width="97">注册ID</td>
<td width="97">注册密码</td>
<td width="138">Emil地址</td>
</tr>
<%
Do While Not rs.Eof
%>
<tr>
<td width="97"><%=rs(0)%></td>
<td width="97"><%=rs(1)%></td>
<td width="138"><%=rs(2)%></td>
</tr>
<%
If Not rs.Eof Then rs.MoveNext
Loop
%>
</table>
<%
rs.close
sql = "INSERT Chapter1 VALUES('ywy','4321','vqhl@hotmail.com')"
rs.Open sql,cn
sql = "SELECT * FROM Chapter1"
rs.Open sql,cn
%>
<p align="center">新增记录后注册ID列表</p>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#111111" width="336" align=center>
<tr>
<td width="97">注册ID</td>
<td width="97">注册密码</td>
<td width="138">Email地址</td>
</tr>
<%
Do While Not rs.Eof
%>
<tr>
<td width="97"><%=rs(0)%></td>
<td width="97"><%=rs(1)%></td>
<td width="138"><%=rs(2)%></td>
</tr>
<%
If Not rs.Eof Then rs.MoveNext
Loop
%>
</table>
<%
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
</body>
</html>

在浏览时 出错

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57)
[Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据。
/test/08_02.asp, 第 37 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

是怎么回事?请帮帮忙
那应该怎么修改呀?

sql = "INSERT Chapter1 VALUES('ywy','4321','vqhl@hotmail.com')"
rs.Open sql,cn
sql = "SELECT * FROM Chapter1"
rs.Open sql,cn

前一个记录集没关闭怎么进行后一个记录集的打开呀!

我说楼主 你这段程序 怎么看起来错误那么多啊
sql = "INSERT Chapter1 VALUES('ywy','4321','vqhl@hotmail.com')"
rs.Open sql,cn
sql = "SELECT * FROM Chapter1"
rs.Open sql,cn

这段程序应该改成
sql = "INSERT Chapter1 VALUES('ywy','4321','vqhl@hotmail.com')"
rs.Open sql,cn

既然你要把数据插入表中 干嘛还要SELECT呢?