出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

ASP   yu-koさん [2002/11/08 15:03:55] [2890]
  Re:ASP   くっくさん [2002/11/08 15:38:22] [2891]
    ありがとうございます。   yu-koさん [2002/11/08 15:42:44] [2892]
      どうしても納得できないのであれば   くっくさん [2002/11/08 18:37:44] [2893]

[2890] ASP
投稿者:yu-koさん 2002/11/08 15:03:55
ASPを学習しているのですが、困っています。
pass変数とpassword変数を比較したいのですけれども・・・

普通は、
if pass = password Then
Response.Write "OK"
Else
Response.Write "NG"
End if

でいいんですよね・・・??

ちなみにpass変数はDBから取った値なんですけど・・・
これでは出来ません。助言を・・・

[2891] Re:ASP
投稿者:くっくさん 2002/11/08 15:38:22
> ASPを学習しているのですが、困っています。
> pass変数とpassword変数を比較したいのですけれども・・・
>
> 普通は、
> if pass = password Then
> Response.Write "OK"
> Else
> Response.Write "NG"
> End if
>
> でいいんですよね・・・??
>
> ちなみにpass変数はDBから取った値なんですけど・・・
> これでは出来ません。助言を・・・

#何が出来ないのでしょうか?

ASPというかVBScriptですね。
VBScriptは表向きにはデータの型は存在しません。
全てVariant型です。しかし内部的には型を持っています。

結論としてはデータの型が違っているので比較できないのではないでしょうか?

たとえば
pass = 1234
password = "1234"
数値と文字の比較であれば、結果はFalseとなるのでElseルートに行きます。

この場合は、キャスト関数を使ってデータ型を合わせる必要があります。

if CStr(pass) = CStr(password) Then
 Response.Write "OK"
Else
 Response.Write "NG"
End if

等としてみてください。

[2892] ありがとうございます。
投稿者:yu-koさん 2002/11/08 15:42:44
できましたー。

でも、データ型が同じなのに何故
出来なかったのですかね??

不思議です・・・

[2893] どうしても納得できないのであれば
投稿者:くっくさん 2002/11/08 18:37:44
2317のスレッドの内容を試してみてください。

検索キーワード:varType
で探せばヒットするはずです。



TreeBBS For ASP V.0.1.3
Program By YasNet