重大建筑事故案例:运行写入ACCESS数据库时,出现INSERT INTO 语句的语法错误,不能把数据写入数据库?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 07:53:08
<%OPTION EXPLICIT%>
<!--#include FILE="vcls8.asp"-->
<%
dim upfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecount,baks
upfilecount=0
set upfile=new clsUp ''建立上传对象
upfile.NoAllowExt="asp;exe;rar;zip;vbs;php;htm;html;aspx;cs;vb;js;" '设置NO上传类型
upfile.GetData (10240000) '10M
%>
<html>
<head>
<title>文件上传</title>
<%
if upfile.isErr then '如果出错
select case upfile.isErr
case 1
Response.Write "你没有上传数据呀?"
case 2
Response.Write "你上传超出限制10M"
end select
else
%>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000099" class="p9" style="border-collapse: collapse">
<tr bgcolor="#0066CC">
<td height="25" valign='middle'><div align="center"><span class="style1"> 本地文件 </span></div></td>
<td valign='middle'><div align="center"><span class="style1"> 大小(字节) </span></div></td>
<td valign='middle'><div align="center"><span class="style1"> 上传到 </span></div></td>
<td valign='middle'><div align="center"><span class="style1"> 状态 </span></div></td>
</tr>
<%
FSPath=GetFilePath(Server.mappath("savetofile.asp"),"\")'取得当前文件在服务器路径
ServerPath=GetFilePath(Request.ServerVariables("HTTP_REFERER"),"/")'取得在网站上的位置
for each formName in upfile.file '列出所有上传了的文件
set oFile=upfile.file(formname)
FileName=upfile.form(formName)'取得文本域的值

if oFile.filename="" then
response.write"请选择上传文件!"
response.end
end if
if not FileName>"" then FileName=oFile.filename'没输入新的文件名,用原文件名
upfile.SaveToFile formname,FSPath&"upfile/"&FileName ''保存文件,但是会自动建立新的文件名
'将上传信息写入数据库
dim conn,db,uppath,sql,FileExt
Set conn=Server.CreateObject("ADODB.Connection")
db="upload.mdb"
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&db&"")
'conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath(""&db&"")
uppath="upfile/"&FileName

sql = "insert into upload(upfile,filename,filetype,filesize,baks) values ('"& uppath &"','"&oFile.FileName&"','"&

oFile.FileExt &"',"&oFile.filesize&","&baks&")"
conn.execute sql

%>

你写的后两个字段缺少单引号:这样就好啦
sql = "insert into upload(upfile,filename,filetype,filesize,baks) values ('"& uppath &"','"& oFile.FileName &"','"&
oFile.FileExt &"','"& oFile.filesize &"','"& baks &"')"

代码中没有给baks赋值
sql = "insert into upload(upfile,filename,filetype,filesize,baks) values ('"& uppath &"','"&oFile.FileName&"','"&
oFile.FileExt &"',"&oFile.filesize&","&baks&")"

如果代码中确实不需给BAKS赋值,那么可以改成如下形式:

sql = "insert into upload(upfile,filename,filetype,filesize) values ('"& uppath &"','"&oFile.FileName&"','"&oFile.FileExt &"',"&oFile.filesize&")"

如果需要给BAKS赋值,那么加入相应的赋值语句,并将SQL改成下面的形式:

sql = "insert into upload(upfile,filename,filetype,filesize,baks) values ('"& uppath &"','"&oFile.FileName&"','"&
oFile.FileExt &"',"&oFile.filesize&",'"&baks&"')"

祝你好运!