当前位置:编程学习 > C#/ASP.NET >>

blob类型数据存储问题,高手进!!

我数据库字段类型为blob,我把图片转换成二进制流存储到数据库中,但是怎么总报:值不在预期范围内呢!
代码如下:
FileStream fs = new FileStream(file_name, FileMode.Open, FileAccess.Read,FileShare.Read);
byte[] MyData = new byte[fs.Length];
fs.Read(MyData, 0, MyData.Length);
ParamStruct[] ps = new ParamStruct[1];
            ps[0].DataType = (System.Data.DbType)OracleDbType.Blob; 
            ps[0].Value = mydata;
            ps[0].ParamName = "mydata";

DataAccess da = new DataAccess();
int flag = 0;

string sql = "insert into pic_table(table_id,pic) values ( 1, :mydata)";

flag = da.ExecuteNoQuery(sql,ps);

总是报错,真是无奈了,请高手指点!谢谢啦!! --------------------编程问答-------------------- 有没有高手阿!等待答案! --------------------编程问答-------------------- FileStream fs = new FileStream(file_name, FileMode.Open, FileAccess.Read,FileShare.Read);
byte[] MyData = new byte[fs.Length];
fs.Read(MyData, 0, MyData.Length);
fs.Close(); --------------------编程问答-------------------- 你的ParamStruc是一个什么样的对像,怎么操作Oracle数据库用Syste.Data.DBType,按道理应该是System.Data.OracleClient.OracleType

 System.Data.OracleClient.OracleParameter[] para = new System.Data.OracleClient.OracleParameter[1];
            para[0]=new System.Data.OracleClient.OracleParameter();
            para[0].DbType= System.Data.OracleClient.OracleType.Blob;

--------------------编程问答-------------------- 奥,我加了fs.Close();也不可以,后来放在后边了,没拷进来。

引用 1 楼 aomiaoz1984 的回复:
有没有高手阿!等待答案!
--------------------编程问答-------------------- 之所以用ParamStruc,是因为ExecuteNoQuery方法里的参数是ExecuteNoQuery (String sql,ParamStruct[] ParameterArray),所以我用ParamStruc。

引用 2 楼 fibona 的回复:
FileStream fs = new FileStream(file_name, FileMode.Open, FileAccess.Read,FileShare.Read);
byte[] MyData = new byte[fs.Length];
fs.Read(MyData, 0, MyData.Length);
fs.Close();
--------------------编程问答-------------------- op.Value = LOG_LEVEL;
op.ParameterName = "LOG_LEVEL";
op.OracleType = OracleType.Blob;

不要设置op.DbType,参数会自动帮你转化,Blob比较特殊,对应op.DbType是byte[]

参考FortuneBase
N_GDS_DIARYINFO_Edit.aspx.cs
参考地址www.cnblogs.com/mail-ricklee
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,