社区
C#
帖子详情
dataGridView1.DataSource = myBindingSource异常
zhiyong1822
2010-12-30 12:51:26
dataGridView1.DataSource = myBindingSource;
后出现异常,其中这个数据源中有一个字段是blob类型,如果要是其他的类型就不会出现异常
异常图形如下
...全文
103
11
打赏
收藏
dataGridView1.DataSource = myBindingSource异常
dataGridView1.DataSource = myBindingSource; 后出现异常,其中这个数据源中有一个字段是blob类型,如果要是其他的类型就不会出现异常 异常图形如下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhiyong1822
2010-12-30
打赏
举报
回复
多谢,先研究研究
hinada99
2010-12-30
打赏
举报
回复
楼主好运~
hinada99
2010-12-30
打赏
举报
回复
//楼主用了DataGridView,那我只能假定楼主的思路是
// DG.DataSource= DataTable, return DataSet.Tables[0], OracleDataAdapter.Fill
(DataSet)
//下面这段代码中 --phsedo code 以外的部分, 是可以直接使用的,不过 返回的datatable中不能有
//Blob类型数据
//下面这段代码中 --phsedo code的部分 没有验证过,因为现在机器上 没有Oracle,无法测试
//只是一个思路而已,需要楼主自己 类比,调试。
public static DataTable GetTable(OracleConnection Connection, string SQLText)
{
OracleDataAdapter oda = new OracleDataAdapter(SQLText, Connection);
//oda中转换掉BLOB类型的字段
//--phsedo code
{ /如果第i个列的字段类型是BLOB
For(int i=0;i<=oda.Tables[0].FieldCount-1;i++)
{
If(odaTables[0].Fields(i).FieldType==BLOB)
{ //那就把第i列全部转成字符串
For(int j=0;j<=oda.Tables[0].RecordCount-1;j++)
{//(1)转成byte[],(2)byte[]转成字符串
Oda.Tables[0](j,i)=(byte[])Oda.Tables[0](j,i);
Oda.Tables[0](j,i)=Oda.Tables[0](j,i).ToString();
}
}
}
}
//----phsedo code
DataSet ds = new DataSet();
oda.Fill(ds);
if (ds != null)
{
if (ds.Tables.Count > 0)
{
if (ds.Tables[0] != null)
{
return ds.Tables[0];
}
return null;
}
return null;
}
return null;
}
}
}
zhiyong1822
2010-12-30
打赏
举报
回复
你好,如何把数据库的一个表,其中这个表有一个字段是blob类型,还有其他的一些类型。 读入dataGridView1显示,最好给个例子
hinada99
2010-12-30
打赏
举报
回复
解释下
我的代码中 "BUREAUIDEA" 的类型就是 BLOB类型的
就是 "select BlobFieldName from TB where 主键字段名='" + fieldValue + "'";
中的 BlobFieldName 。
当时提交代码时 没改完全
zhiyong1822
2010-12-30
打赏
举报
回复
多谢,我用的是interbase数据库,因为别人做的一个数据库,我要对这个数据库进行操作。我对您的回答先研究研究,有问题再提问
hinada99
2010-12-30
打赏
举报
回复
//假设 表名是TB, BLOB字段的字段名是 BlobFieldName, 查询条件是 主键字段名='" + fieldValue + "'
//读取BLOB字段值的方法。传入一个字符串作为查询条件,返回值 是 BLOB类型转为 字符串后的值
public static string GetTextBLOB(string fieldValue)
{
string result = "";
string myConnectionString = "";
string mySelectString = "";
//创建连接
OracleConnection conn = new OracleConnection(myConnectionString);
conn.Open();
//设置sql语句
mySelectString = "select BlobFieldName from TB where 主键字段名='" + fieldValue + "'";
OracleCommand cmd = new OracleCommand(mySelectString, conn);
OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
if (dr["BUREAUIDEA"].ToString() == "")//如果文章内容为空 不能转二进制
result = "";
else
{
//使用byte型数组读取BLOB字段的值,将dr["BUREAUIDEA"]转成byte型数组
byte[] b = (byte[])dr["BUREAUIDEA"];
//将byte型数组转成 字符串。
result=System.Text.Encoding.Unicode.GetString(b);
}
}
conn.Close();
return result;
}
hinada99
2010-12-30
打赏
举报
回复
楼主 的 表名 和 数据库中 BLOB类型字段 的名称 是什么?
使用的 是 ORacle数据库否?
hinada99
2010-12-30
打赏
举报
回复
BLB 类型的 数据 的 读取方式 很不同.
必须使用 另外的 方法 来读取 BLOB 类型字段的值
C# 中
Binding
Source
的用法
1.引言
Binding
Source
组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用。使用这些API我们可以将Code与各种具体类型数据源进行解耦;使用这些Event我们可以洞察数据的变化。 2.简单绑定 ...
C#
Binding
Source
1.引言
Binding
Source
组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用。使用这些API我们可以将Code与各种具体类型数据源进行解耦;使用这些Event我们可以洞察数据的变化。 2.简单绑定 ...
C#
Binding
Source
用法、属性、事件
1.引言
Binding
Source
组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用。使用这些API我们可以将Code与各种具体类型数据源进行解耦;使用这些Event我们可以洞察数据的变化。 2.简单绑定 在给...
c#
Binding
Source
类
1.引言
Binding
Source
组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用。使用这些API我们可以将Code与各种具体类型数据源进行解耦;使用这些Event我们可以洞察数据的变化。 2.简单绑定 ...
Binding
Source
控件介绍
.1 Event 1)AddingNew 调用AddNew()方法时触发。 2)
Binding
Complete 当控件完成数据绑定时触发,说明控件已经从数据源中读取当前数据项的值。当
Binding
Source
重新绑定或当前...
C#
110,571
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章