本文整理汇总了C#中System.Data.OracleClient.OracleConnection.GetString方法的典型用法代码示例。如果您正苦于以下问题:C# OracleConnection.GetString方法的具体用法?C# OracleConnection.GetString怎么用?C# OracleConnection.GetString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.OracleClient.OracleConnection
的用法示例。
在下文中一共展示了OracleConnection.GetString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MarshalToString
internal static string MarshalToString(NativeBuffer buffer, int valueOffset, int lengthOffset, MetaType metaType, OracleConnection connection, bool boundAsUCS2, bool outputParameterBinding)
{
string str;
int length = GetLength(buffer, lengthOffset, metaType);
if (boundAsUCS2 && outputParameterBinding)
{
length /= 2;
}
bool flag = metaType.IsLong && !outputParameterBinding;
if (boundAsUCS2)
{
if (flag)
{
byte[] destinationBuffer = new byte[length * System.Data.Common.ADP.CharSize];
NativeBuffer_LongColumnData.CopyOutOfLineBytes(buffer.ReadIntPtr(valueOffset), 0, destinationBuffer, 0, length * System.Data.Common.ADP.CharSize);
str = Encoding.Unicode.GetString(destinationBuffer);
}
else
{
str = buffer.PtrToStringUni(valueOffset, length);
}
}
else
{
byte[] buffer2;
if (flag)
{
buffer2 = new byte[length];
NativeBuffer_LongColumnData.CopyOutOfLineBytes(buffer.ReadIntPtr(valueOffset), 0, buffer2, 0, length);
}
else
{
buffer2 = buffer.ReadBytes(valueOffset, length);
}
str = connection.GetString(buffer2, metaType.UsesNationalCharacterSet);
}
GC.KeepAlive(buffer);
return str;
}