C#-如何获取oracle长原始类型值
如何使用C#?获取长原始类型值因为您没有发布任何代码,我不知道您知道多少。我假设您已经了解如何使用OracleDataReader执行查询并返回结果集 有一个gotcha包含长的原始列必须将C#-如何获取oracle长原始类型值,c#,oracle,C#,Oracle,如何使用C#?获取长原始类型值因为您没有发布任何代码,我不知道您知道多少。我假设您已经了解如何使用OracleDataReader执行查询并返回结果集 有一个gotcha包含长的原始列必须将OracleCommand的InitialLONGFetchSize属性设置为非零值。 InitialLONGFetchSize的默认值为零,这意味着不会检索长或长原始列的数据。如果将其设置为-1,将检索所有数据。您可能不希望对较大的值执行此操作。如果您将其设置为零以上的任何值,则初始获取和缓存的字节数 您应
OracleCommand
的InitialLONGFetchSize
属性设置为非零值。
InitialLONGFetchSize
的默认值为零,这意味着不会检索长或长原始列的数据。如果将其设置为-1,将检索所有数据。您可能不希望对较大的值执行此操作。如果您将其设置为零以上的任何值,则初始获取和缓存的字节数
您应该阅读
InitialLONGFetchSize
,因为您还需要了解一些其他详细信息。以下是解决此问题的代码
Byte[] img;
con.Open();
OracleCommand command = new OracleCommand("Select Image as BLOBDATA FROM tbltestImage ", con);
command.InitialLONGFetchSize = -1;
OracleDataReader rdr = command.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(rdr);
con.Close();
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["BLOBDATA"].ToString() != "")
{
img = (Byte[])dt.Rows[0]["BLOBDATA"];
MemoryStream ms = new MemoryStream(img);
Bitmap bitmap = new Bitmap(ms);
pictureBox2.Image = bitmap;
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
}
}
可能重复的问题,请不要多次发布同一问题。请学会耐心。所以这不是一个支持论坛,也不是用来处理紧急情况的。@APC:我不认为这是一个骗局。。。虽然我不确定他在另一个问题中问了什么。如果有人在使用System.Data.Common类,则需要进行类型转换:((OracleCommand)selectCommand):InitialLONGFetchSize:=-1 selectCommand是IDbCommand对象,OracleCommand来自Oracle.ManagedDataAccess.Client命名空间。