量子博弈:无效的 SQL语句

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 13:53:19
<%
sql=request.form("sql")
button=request.form("button")
if sql="" and button="" then
%>
<form method="post" action="">
<input type="text" name="sql" size=19><br>
<input type="submit" name="b1" value="提交">
</form>
<%
response.end
end if
%>
<%
if button="" then
session("sql")=sql
%>
<form method="post" action="">
<p><h3>将SQL命令执行结果存到数据库</h3>
<input type=submit name=button value="执行">
</p>
<p><h3>取消对数据库的操作</h3>
<input type="submit" name=button value="取消">
</p>
</form>
<%
response.End()
end if
const recordaffected=0
const adcmdtext=1
sql=session("sql")
set conn=server.createobject("ADODB.connection")
conn.open"dsn=book"
conn.begintrans
conn.execute sql,recordaffected,adcmdtext
if button="执行" then
response.write"事务成功,系统将执行结果写入数据库"
conn.committrans
end if
if button="取消" then
response.write"事务失败,系统将回到初始状态"
conn.rollbacktrans
end if
%>
<%
set rs=conn.execute ("select * from book")
response.write"<table border=3>"
response.write"<tr>"
for i=0 to rs.fields.count-1
response.write"<td>"&ucase(rs(i).name)&"</td>"
next
response.write"</tr>"
do while not rs.eof
response.write"<tr>"
for i=0 to rs.fields.count-1
response.write"<td>"&rs(i).value&"</td>"
next
response.write"</tr>"
rs.movenext
loop
set rs=nothing
set conn=nothing
%>
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。
/shiwu.asp, 第 35 行
当我检查我的sql和button输入时,sql没有输出,那个BUTTON有输出值,
请看执行结果:
sql=
button=执行

conn.execute sql,recordaffected,adcmdtext

在这一句之前加上:

response.write("sql="&sql)

运行程序,如果输出的是sql=的话……

明白是怎么回事了吧?在这句执行的时候,sql为空值,执行空语句当然会报错了。

检查你的sql和button输入吧。

那就是sql=request.form("sql")
这一句问题了,检查你上一个页面的表单的sql输入框的值

好长阿