上海机场旅馆:查询值的数目与目标字段中的数目不同?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 01:47:35
<%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&")"
conn.execute sql

%>

最后一句中

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

你要求在表中插入的字段是(upfile,filename,filetype,filesize,baks),共五个字段, 但你只提供了四个字段的值('"& uppath &"','"&oFile.FileName&"','"& oFile.FileExt &"',"&oFile.filesize),最后一个字段baks没有指定值.

可以改成如下形式:

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



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

提示: 遇到这种问题,可以将SQL输出,再仔细检查.

祝你好运!