各位asp.net2.0的高手帮看看这个类型冲突?

来源:百度知道 编辑:UC知道 时间:2024/09/22 04:21:05
本人现在在自学asp.net2.0语言C#,在做一个员工简历表页面时,要加上员工相片,于是我在SQL Server 2005数据库中设了一表其中为了存放相片就设了一个字段的类型为image的,在asp.net程序中就通过编程方式在数据库中获取并显示和上传相片,可就在上传部分老是出现异常:sql_variant和image类型异常之类,,
可我在"update [table] set photo=@photo(where省略)"中的参数@photoj明明就是image类型的,怎么会这样呢?,,于是,我就干脆把数据库表的image字段的列改为sql_variant类型的,@photo参数的类型也为variant的,,果然不出所料就成功上传和显示相片了,但同时一个更大的麻烦来了,sql_variant的大小才不到8K,天呢想上传个大点的相片都不得了...这个怎么是好啊?
说明下好吗:我这里要上传的是文件,不是文件路径,,比如客户端上传图片文件那样,,

数据库的确可以存储image类型的图片是没错,但是c#用数据集读取的时候没法识别。我做校友录的时候也遇到这样的问题了。
你用文件流把图片的路径存进数据库,读取的时候用文件流读取路径显示就可以了。
具体是什么原因我还没搞懂,不过用文件流是绝对可以的哈

呵呵,你的错误就是数据库的图片不能直接读取。
你可以通过一个一般处理程序(即HttpHandler)用一个字节流先把数据库的图片读取到内存中来,然后通过数据库里的主键来使用...

你在项目里添加一个一般处理程序,然后在一般处理程序上来做字节流的读取,MSDN是你最好的学习ASP.NET的老师,里面的例子都是比较简单易懂的

简单点吧,把数据库存在服务器上,数据库中存链接地址
一般项目是这样做的