English 中文(简体)
将大型 CLOB 对象转换为.NET 字符串, 以放入 DataGridView 单元格
原标题:Converting a large CLOB object to .NET string to put into a DataGridView cell
< div class=" s- prose js- post-body" 项prop= "text" >

I 在 DataGridView 中创建了 Windows 窗体图形界面, 可以在 C# 中在 DataGrid View 中显示表格数据( SQL 查询对甲骨文服务器 DB的结果) 。 字段之一是 XML, 可能相当大, 以 CLOB (如果我右的话, 可能相当大) 存储为 CLOB 。 当然, 用户不会直接查看单元格, 他宁愿双击单元格, 以查看已打印的文件 。 问题是我要将文件( 是一个 CLOB) 转换为. NET Stringing 。 否则, 它会生成一个例外。 我已尝试, 将 Oracle to_ charp 程序使用 XM, 但是它仅限于 4,000 字符 。 因此, 我采取这样的子字符串: 选择 to_ charts( droum_ name, 400, 1) ann > all decre dre declocloclocre pre.

最佳回答

我用了简单的:

if (reader.IsDBNull(i))
{
    cellValue = "NULL";
}
else
{
    OracleLob clob = reader.GetOracleLob(i);
    cellValue  = (string) clob.Value;
}
问题回答

不要在 DataGridView 中存储 CLOB 或由此产生的字符串 。

相反,在 DataGridView 中捕捉点击事件, 然后将 CLOB 转换为字符串查看。 使用 < code> System. Text. Encoding 中的适当编码 。

I m 假设您的 DataReader 或 DataAdapter (无论您以何种方式填充 DataSet) 将会将您的 CLOB 保存在一个字节数中 。 (它与 SQLServer 和 Informix 驱动程序一样) 。

byte[] clob;
// get it from your datarow/datagridview bound item
string thexml = System.Text.Encoding.UTF8.GetString(theclob)




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签