?
?
異常:
System.Data.SqlClient.SqlException: 着信の表形式のデータ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが不適切です。この RPC 要求に指定されたパラメータが多すぎます。最大数は 2100 です。
?
The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Too many parameters were provided in this RPC request. The maximum is 2100 d.
?
?
內送的表格式資料流 (TDS) 遠端程序呼叫 (RPC) 通訊協定資料流不正確。此 RPC 要求中提供了太多參數。最大值為 2100!。
?
红色处:mSqlCommand.Parameters的参数超过2100个。用拼文字串来解决就OK
?
??? Public Function PFn_ExcuteDB(ByVal strSQLBuilder As StringBuilder,_ ??????????????????????????????????????? Optional ByVal htPara As Hashtable = Nothing,_ ??????????????????????????????????????? Optional ByVal intTimeOut As Integer = 0) As Integer ??????? Dim enumerator As IDictionaryEnumerator
??????? Try ??????????? ''SQL文の存在を判断する ??????????? 'If strSQLBuilder Is Nothing Then ??????????? '??? PFn_ExcuteDB = -1 ??????????? '??? Exit Function ??????????? 'End If
??????????? 'SQL文を追加する ??????????? mSqlCommand.CommandText = strSQLBuilder.ToString() ??????????? mSqlCommand.CommandType = CommandType.Text
??????????? 'タイムアウト時間を判断する ??????????? If 0 < intTimeOut Then ??????????????? '自定義の時間をセットする ??????????????? mSqlCommand.CommandTimeout = intTimeOut ??????????? Else ??????????????? 'システムの時間をセットする ??????????????? mSqlCommand.CommandTimeout = ComVariable.SystemInfo.DBTimeOut ??????????? End If
??????????? '項目の値をセットする ??????????? If Not htPara Is Nothing Then ??????????????? '臨時オブジェクトを変化する ??????????????? enumerator = htPara.GetEnumerator
??????????????? '項目をループする ??????????????? While enumerator.MoveNext() ??????????????????? 'SQLの中、変数をセットする ??????????????????? If enumerator.Value Is Nothing Then ??????????????????????? mSqlCommand.Parameters.AddWithValue("@" & PFn_ToString(enumerator.Key),DBNull.Value) ??????????????????? Else ??????????????????????? mSqlCommand.Parameters.AddWithValue("@" & PFn_ToString(enumerator.Key),enumerator.Value) ??????????????????? End If ??????????????? End While ??????????? End If
??????????? 'LOGファイルを出力する ??????????? Call ComMethod.PSb_WriteLOGFile(2,strSQLBuilder,htPara)
??????????? 'DBを実行する ??????????? PFn_ExcuteDB = mSqlCommand.ExecuteNonQuery()
??????????? 'オブジェクトの初期化をセットする ??????????? mSqlCommand.CommandText = String.Empty
??????????? '引数を解放する ??????????? mSqlCommand.Parameters.Clear() ??????? Catch ex As Exception ??????????? PFn_ExcuteDB = -1
??????????? '引数を解放する ??????????? mSqlCommand.Parameters.Clear()
??????????? 'オブジェクトの初期化をセットする ??????????? mSqlCommand.CommandText = String.Empty
??????????? ''異常メッセージを表示する??????????? 'MsgBox(ex.ToString())??????????? Throw ex??????? End Try??? End Function
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|