如题:谢谢大家!急用!包括写入与读取!

解决方案 »

  1.   

    很简单...byte[] & BLOB...自己查文档吧...
      

  2.   

    一个简单例子...
    using (System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection(connString))
    {
        byte[] image;//可以载入任何4G以下的文件...
        conn.Open();
        System.Data.OracleClient.OracleCommand cmd = conn.CreateCommand();
        cmd.CommandText = "insert into tablename (image)values(:image)";//自己改SQL语句
        System.Data.OracleClient.OracleParameter para = cmd.CreateParameter();
        para.ParameterName = "image";
        para.OracleType = System.Data.OracleClient.OracleType.Blob;//数据库该字段设置为BLOB类型
         para.Value = image;
        cmd.Parameters.Add(para);
        cmd.ExecuteNonQuery();
        conn.Close();
    }
      

  3.   

    #region 采用参数方法插入clob字段
                int articleId = 0;
                string insertSql = "insert into S_NewsDetails(NewsId,Body)values"
                + "(S_S_NEWSDETAILS.nextval,:body)";
                OracleParameter parameter = Database.CreateParameter("body", body, OracleType.Clob);            if (Database.ExecuteNonQuery(insertSql, new OracleParameter[] { parameter }) > 0)
                {
                    string getArticleId = "select max(newsId) from S_NewsDetails";
                    articleId = int.Parse(Database.ExecuteScalar(getArticleId).ToString());
                }
                return articleId;
                #endregion
      

  4.   

    我这是插入Clob字段,和Blob字段类似,不同的是要将文件转换成byte[],其它的就差不多了,就是用参数化的SQL插入了。
      

  5.   

     try
            {
                //得到提交的文件   
                Stream fileDataStream = FileUpload1.PostedFile.InputStream;            //得到文件大小   
                int fileLength = FileUpload1.PostedFile.ContentLength;            //创建数组   
                byte[] fileData = new byte[fileLength];            //把文件流填充到数组   
                fileDataStream.Read(fileData, 0, fileLength);            //得到文件名字   
                string fileTitle = FileUpload1.FileName;            //得到文件类型   
                string fileType = FileUpload1.PostedFile.ContentType;            string sql = "insert into test (abc) valus(:fileData)";
                cmd.Add(sql)
               
            }
    为什么这样加不进去?我在数据库里设类型为blob了
      

  6.   

    以下操作报错:ORA-01036: 非法变量名/编号Stream fileDataStream = FileUpload1.PostedFile.InputStream;            //得到文件大小   
                int fileLength = FileUpload1.PostedFile.ContentLength;            //创建数组   
                byte[] fileData = new byte[fileLength];            //把文件流填充到数组   
                fileDataStream.Read(fileData, 0, fileLength);            //得到文件名字   
                string fileTitle = FileUpload1.FileName;            //得到文件类型   
                string fileType = FileUpload1.PostedFile.ContentType;          //  string sql = "insert into test (abc) values(:fileData)";
                OracleConnection conn = new OracleConnection(ConfigurationSettings.AppSettings["connection_string"]);   
                conn.Open();
                System.Data.OracleClient.OracleCommand cmd = conn.CreateCommand();
                cmd.CommandText = "insert into test (abc) values(:fileData)";//自己改SQL语句
                System.Data.OracleClient.OracleParameter para = cmd.CreateParameter();
                para.ParameterName = "abc";
                para.OracleType = System.Data.OracleClient.OracleType.Blob;//数据库该字段设置为BLOB类型
                para.Value = fileData;
                cmd.Parameters.Add(para);
                cmd.ExecuteNonQuery();
                conn.Close();