想做一个上传附件保存到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里面去吗?

解决方案 »

  1.   

    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();   
      

  2.   

    scd.Parameters.Add("@image",b);   ------> scd.Parameters.Add("@image",filestream);
      

  3.   

    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];
                filestream.Read(filebyte, 0, filelength);
            }
            else
            {
                throw new Exception("没有找到文件!");
            }
    Hql
    S_AIS_BulletinFile objfile=new S_AIS_BulletinFile()
    objfile.file=filebyte
    然后save吗?????????????