0

セッション変数をデータベースに挿入してASP.NETアプリケーションに転送する古いaspページを作成しています。だから私はそれらをループし、ストアドプロシージャを使用してそれらをデータベースに挿入しています。それらの1つには、値としてnull文字列があり、それらを挿入すると、次のように失敗します。

MicrosoftVBScriptランタイムエラー「800a000d」

型の不一致

key = value = vartypeの形式でページに書き留めましたが、vartypeは実際には文字列の8です。失敗するそのGoBack行:

User_id=2029=8
GoBack==8
ID_Reps=12345726=8

呼び出しは次のとおりです。

.Parameters.Append .CreateParameter("@SessionValue", adVarChar, adParamInput, 4000, Session(objItem))

挿入時に空の文字列に変換したくありません。これを回避する方法はありますか?

4

2 に答える 2

0

値がnullの場合、パラメーターをオプションのデフォルトでnullにし、追加をバイパスすることになりました。

于 2012-07-31T13:34:53.827 に答える
0

2 つのオプションは、Session(objItem) を次のいずれかに置き換えます。

If(Session(objItem), DBNull.Value)

また

If(Session(objItem), String.Empty)
于 2012-07-26T14:17:26.430 に答える