求助:单表多个image录入问题
在做一个需要在一个表中录入几个image字段的表,查询了很多大侠的代码,转化成二进制的代码基本都是建立一个表id (int) img(image)然后针对那个img字段处理:UP.ASP <%option explicit%>
<%
dim conn,DBPath
dim rs,sql
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
set rs=server.CreateObject("ADODB.Recordset")
sql="select * from photo"
rs.open sql,conn,3,2
dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
rs.addnew
rs("img").appendchunk=mydata
rs.update
rs.close
'释放对象以及重新定向到main.html页面
set rs=nothing
set conn=nothing
response.Redirect("main.html")
%>
这种方法的例子都只有一个image字段,我的表是这样的:员工(vchar)简历(image)项目情况(image)组别(vchar)大概就是这样的表,感觉很难处理啊,因为一次提交有几个image字段
也看了论坛friendliu(无为)大侠的代码:
1、建立过程
CREATE PROCEDURE sp_textcopy (
@srvname varchar (30),
@login varchar (30),
@password varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colname varchar (30),
@filename varchar (30),
@whereclause varchar (40),
@direction char(1))
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str =
'textcopy /S ' + @srvname +
' /U ' + @login +
' /P ' + @password +
' /D ' + @dbname +
' /T ' + @tbname +
' /C ' + @colname +
' /W "' + @whereclause +
'" /F ' + @filename +
' /' + @direction
EXEC master..xp_cmdshell @exec_str
2、建表和初始化数据
create table 表名 (编号 int,image列名 image)
go
insert 表名 values(1,0x)
insert 表名 values(2,0x)
go
3、读入
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','I' --注意条件是 编号=1
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','I' --注意条件是 编号=2
go
4、读出成文件
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','O' --注意条件是 编号=1
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','O' --注意条件是 编号=2
go
用这种方法可以实现我的录入吗?那个编号——1,编号——2是必须的吗?如果我前面包含了conn .asp连接数据库文件,
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','I'
是不是可以写成
sp_textcopy '表名','image列名','c:\图片.bmp','where 编号=1','I' ?
还有那个文件名称可以在brouser的表单获得吗?
请各位大侠指教,第一次做,急用!!谢谢!!