2012-05-04 21 views
0

私は、別のプログラマがストアドプロシージャを呼び出す場所で行ったコードを調べています。それを呼び出す前に、ストアドプロシージャがテーブルをクエリするために必要なパラメータを持つArrayを作成します。彼はこのような配列を作成します。vbscriptを使用してストアドプロシージャを呼び出す

param = Array("@Name", 3, 8, "Tom", _ 
      "@Age", 3, 8, 28, _ 
      "@City", 100, 200, "Toronto) 

ストアドプロシージャは、@ Name、@Age、および@Cityを使用してテーブルをクエリします。

私の質問は、間にある数字は何ですか?

+1

コードコメント(またはドキュメント)がないので...他の開発者に尋ねることはできますか? –

+0

vbscriptは古典的なASP用です。 asp.netは、質問にタグが付けられているので、vb.netを使用します。どちらが正しいのですか? aspの代わりにあなたの質問に 'asp-classic'というタグを付けることを意味しましたか?ネット、vbscriptの代わりにあなたの質問 'vb.net'にタグを付けることを意味しましたか、これはInternet Explorerでのみ動作するクライアントサイドスクリプトですか? –

答えて

2

それは次のようになります。年齢=パラメータ名

@

@Name =パラメータ名

3 = adInteger

8 =長さ

"トム" =値

3 = adInteger

8 =長さ

28 =値

市@ =パラメータ名

100 =長さ

200 = adVarChar

「トロント=値

ここれます他のADOデータタイプのリスト -

http://www.w3schools.com/ado/ado_datatypes.asp

+0

「トム」は整数ですか?これが古典的なASPならば、私は確かに答えに近いですが、100と200の値が間違っているように見えます。金曜日の午後のための良いパズル! – mafue

0

コメントなしで、コードを確認したり、コードを踏んだりすることはできません。

これはasp.netであればそうでない場合は、あなたができる最善のはSqlParameterクラスを見て、それが利用できる持っているプロパティを参照してくださいです: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.aspx

私はあなたがParameterNameValueための2つの強力な候補を持っていると思いますが、 2つの数値はいくつか異なることがあります。 3だけSqlDbType.Charための数値であることを起こると100が該当するSqlDbTypeを有していないが、そのタイプのデフォルトは、次の数は精度とすることができるNVarChar.

あります。データベーステーブルを見て、それらの値をフィールドに一致させることができるかどうかを確認してください。たとえば、都市VarChar(200)ですか?

0

私は彼がparamsの配列を使用していると思います。https://stackoverflow.com/a/10142254/2385ここでは、paramsの配列を使用してparamsをADOコマンドに追加する関数に渡します。