private GetByteCount ( char chars, int count ) : int | ||
chars | char | |
count | int | |
리턴 | int |
public virtual unsafe int GetByteCount(char* chars, int count)
{
// Validate input parameters
if (chars == null)
throw new ArgumentNullException("chars",
Environment.GetResourceString("ArgumentNull_Array"));
if (count < 0)
throw new ArgumentOutOfRangeException("count",
Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
char[] arrChar = new char[count];
int index;
for (index = 0; index < count; index++)
arrChar[index] = chars[index];
return GetByteCount(arrChar, 0, count);
}
Encoding::GetByteCount ( String s ) : int | |
Encoding::GetByteCount ( char chars ) : int | |
Encoding::GetByteCount ( char chars, int count, |
|
Encoding::GetByteCount ( char chars, int index, int count ) : int |
public void WriteToStream(Stream outputStream, Encoding encoding) { outputStream.WriteByte((Byte)'P'); // message length = // Int32 self // name of prepared statement + 1 null string terminator + // query string + 1 null string terminator // + Int16 // + Int32 * number of parameters. Int32 messageLength = 4 + encoding.GetByteCount(_prepareName) + 1 + encoding.GetByteCount(_queryString) + 1 + 2 + (_parameterIDs.Length * 4); //Int32 messageLength = 4 + _prepareName.Length + 1 + _queryString.Length + 1 + 2 + (_parameterIDs.Length * 4); PGUtil.WriteInt32(outputStream, messageLength); PGUtil.WriteString(_prepareName, outputStream, encoding); PGUtil.WriteString(_queryString, outputStream, encoding); PGUtil.WriteInt16(outputStream, (Int16)_parameterIDs.Length); for(Int32 i = 0; i < _parameterIDs.Length; i++) PGUtil.WriteInt32(outputStream, _parameterIDs[i]); }