本文整理汇总了C#中System.Data.SqlClient.TdsParserStateObject.PeekByte方法的典型用法代码示例。如果您正苦于以下问题:C# TdsParserStateObject.PeekByte方法的具体用法?C# TdsParserStateObject.PeekByte怎么用?C# TdsParserStateObject.PeekByte使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.SqlClient.TdsParserStateObject
的用法示例。
在下文中一共展示了TdsParserStateObject.PeekByte方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessError
internal SqlError ProcessError(byte token, TdsParserStateObject stateObj)
{
int num2;
int infoNumber = stateObj.ReadInt32();
byte errorState = stateObj.ReadByte();
byte errorClass = stateObj.ReadByte();
int length = stateObj.ReadUInt16();
string errorMessage = stateObj.ReadString(length);
length = stateObj.ReadByte();
if (length != 0)
{
stateObj.ReadString(length);
}
length = stateObj.ReadByte();
string procedure = stateObj.ReadString(length);
if (this._isYukon)
{
num2 = stateObj.ReadInt32();
}
else
{
num2 = stateObj.ReadUInt16();
if ((this._state == TdsParserState.OpenNotLoggedIn) && (stateObj.PeekByte() == 0))
{
num2 = (num2 << 0x10) + stateObj.ReadUInt16();
}
}
return new SqlError(infoNumber, errorState, errorClass, this._server, errorMessage, procedure, num2);
}
示例2: Run
//.........这里部分代码省略.........
else
{
this.Errors.Add(error);
runBehavior = RunBehavior.UntilDone;
}
}
goto Label_06D5;
}
case 0xac:
{
SqlReturnValue rec = this.ProcessReturnValue(tokenLength, stateObj);
if (cmdHandler != null)
{
cmdHandler.OnReturnValue(rec);
}
goto Label_06D5;
}
case 0xad:
{
SqlLoginAck ack = this.ProcessLoginAck(stateObj);
this._connHandler.OnLoginAck(ack);
goto Label_06D5;
}
case 0x88:
{
if (stateObj._cleanupAltMetaDataSetArray == null)
{
stateObj._cleanupAltMetaDataSetArray = new _SqlMetaDataSetCollection();
}
_SqlMetaDataSet altMetaDataSet = this.ProcessAltMetaData(tokenLength, stateObj);
stateObj._cleanupAltMetaDataSetArray.SetAltMetaData(altMetaDataSet);
if (dataStream != null)
{
dataStream.SetAltMetaDataSet(altMetaDataSet, 0x88 != stateObj.PeekByte());
}
goto Label_06D5;
}
case 0x79:
{
int status = stateObj.ReadInt32();
if (cmdHandler != null)
{
cmdHandler.OnReturnStatus(status);
}
goto Label_06D5;
}
case 0x81:
if (tokenLength != 0xffff)
{
stateObj._cleanupMetaData = this.ProcessMetaData(tokenLength, stateObj);
}
else if (cmdHandler != null)
{
stateObj._cleanupMetaData = cmdHandler.MetaData;
}
if (dataStream != null)
{
byte num5 = stateObj.PeekByte();
dataStream.SetMetaData(stateObj._cleanupMetaData, (0xa4 == num5) || (0xa5 == num5));
}
else if (bulkCopyHandler != null)
{
bulkCopyHandler.SetMetaData(stateObj._cleanupMetaData);
}
goto Label_06D5;
示例3: ProcessDone
private void ProcessDone(SqlCommand cmd, SqlDataReader reader, ref RunBehavior run, TdsParserStateObject stateObj)
{
int num2;
ushort status = stateObj.ReadUInt16();
ushort curCmd = stateObj.ReadUInt16();
if (this._isYukon)
{
num2 = (int) stateObj.ReadInt64();
}
else
{
num2 = stateObj.ReadInt32();
if (((this._state == TdsParserState.OpenNotLoggedIn) && (stateObj._inBytesRead > stateObj._inBytesUsed)) && (stateObj.PeekByte() == 0))
{
num2 = stateObj.ReadInt32();
}
}
if (0x20 == (status & 0x20))
{
stateObj._attentionReceived = true;
}
if ((cmd != null) && (0x10 == (status & 0x10)))
{
if (curCmd != 0xc1)
{
cmd.InternalRecordsAffected = num2;
}
if (stateObj._receivedColMetaData || (curCmd != 0xc1))
{
cmd.OnStatementCompleted(num2);
}
}
stateObj._receivedColMetaData = false;
if (((2 == (2 & status)) && (this._errors == null)) && (!stateObj._errorTokenReceived && (RunBehavior.Clean != (RunBehavior.Clean & run))))
{
this.Errors.Add(new SqlError(0, 0, 11, this._server, SQLMessage.SevereError(), "", 0));
if ((reader != null) && !reader.IsInitialized)
{
run = RunBehavior.UntilDone;
}
}
if ((0x100 == (0x100 & status)) && (RunBehavior.Clean != (RunBehavior.Clean & run)))
{
this.Errors.Add(new SqlError(0, 0, 20, this._server, SQLMessage.SevereError(), "", 0));
if ((reader != null) && !reader.IsInitialized)
{
run = RunBehavior.UntilDone;
}
}
this.ProcessSqlStatistics(curCmd, status, num2);
if (1 != (status & 1))
{
stateObj._errorTokenReceived = false;
if (stateObj._inBytesUsed >= stateObj._inBytesRead)
{
stateObj._pendingData = false;
}
}
if (!stateObj._pendingData && stateObj._hasOpenResult)
{
stateObj.DecrementOpenResultCount();
}
}