using(reader)
{
//Obtain the first row of data.
reader.Read();
//Obtain the LOBs (all 3 varieties).
OracleLob BLOB = reader.GetOracleLob(1);
...
//Example - Reading binary data (in chunks).
byte[] buffer = new byte[4096];
while((actual = BLOB.Read(buffer, 0, buffer.Length)) >0)
Console.WriteLine(BLOB.LobType +
".Read(" + buffer + ", " + buffer.Length + ") => " + actual);
...
}
Cá nhân tôi sẽ tạo và thêm các cột vào DataTable theo cách này nhưng bạn nên thử theo cách này hay cách khác mà bạn biết sẽ hiệu quả
DataTable table = new DataTable("ImageTable"); //Create a new DataTable instance.
DataColumn column0 = new DataColumn("id"); //Create the column.
column.DataType = System.Type.GetType("System.String"); //Type string
DataColumn column1 = new DataColumn("image"); //Create the column.
column.DataType = System.Type.GetType("System.Byte[]"); //Type byte[] to store image bytes.
column.AllowDBNull = true;
column.Caption = "My Image";
table.Columns.Add(column0); //Add the column to the table.
table.Columns.Add(column1); //Add the column to the table.
Then, add a new row to this table and set the value of the MyImage column.
DataRow row = table.NewRow();
row["MyImage"] = <Image byte array>;
tables.Rows.Add(row);