日期:2014-05-19  浏览次数:20524 次

如何保存大对象
想做一个上传附件保存到Oracle数据库Blob类型字段的东西.
数据层是Nhibernate来做的
用fileinput来做
这是我的代码:
Stream   filestream   =   null;
                int   filelength;
                byte[]   filebyte;

                if   (FileUpload1.HasFile)
                {
                        filelength   =   FileUpload1.PostedFile.ContentLength;
                        string   type   =   FileUpload1.PostedFile.ContentType;
                        filestream   =   FileUpload1.FileContent;
                        filebyte   =   new   byte[filelength];
                        File   file=new  
                }
                else
                {
                        throw   new   Exception( "没有找到文件! ");
                }
也就是说我应该直接把得到的2进制对象保存到Blob里面去吗?


------解决方案--------------------
filestream = FileUpload1.FileContent;
filebyte = new byte[filelength];
filestream.Read(b,0,(int)fs.Length);
filestream.Close();
//---下面是sql server的对Oracle楼主修改数据操作部分应该就可以了
SqlConnection sc = new SqlConnection( "data source=wenyong;initial catalog=testdb;user id=sa ");
sc.Open();

SqlCommand scd = new SqlCommand( "update Test set test_image=@image where test_name= 'wenyong ' ",sc);

scd.Parameters.Add( "@image ",b);
scd.ExecuteNonQuery();

------解决方案--------------------

------解决方案--------------------
用参数.如一楼
------解决方案--------------------
up.
------解决方案--------------------
传参数。