テーブルから条件に一致するものをカウントするには?


G  2005-04-23 14:18:25  No: 121205  IP: [192.*.*.*]

VB6.0を利用しています。
ユーザマスタというテーブルの中のユーザ名というフィールドとsearchNameに入れた文字と一致するレコードをカウントしたいのですが、うまくいきません。

searchName = txtData(0).Text
SQLText = "select Count (*) as GaitouUser from ユーザマスタ where ユーザ名 = 'searchName'"

この様に指定した上で、rs.Openを使って結果セットを取得し、その上でIF文を使ってGaitouUserがいくつ以上か、と判断できるのがベストなのですが・・・
ここがおかしい、とかありましたら教えて頂けませんでしょうか?
よろしくお願いします。

編集 削除
いな  2005-04-23 17:19:21  No: 121206  IP: [192.*.*.*]

ユーザー名のフィールドが、
Char型であるならば、よくやりがちなのはスペースが入ってるから
一致しない!

つまり、実際のDBには
'searchName'ではなく'searchName                '入っているのでは?
可変長文字列型か、Trimしましょう

編集 削除
いな  2005-04-23 17:20:18  No: 121207  IP: [192.*.*.*]

あれ?該当ユーザー?

ってことはLikeかな?
searchName = txtData(0).Text
SQLText = "select Count (*) as GaitouUser from ユーザマスタ where ユーザ名 Like 'searchName%'"

編集 削除
id_rsa+  2005-04-23 23:45:08  No: 121208  IP: [192.*.*.*]

SQLText = "select Count (*) as GaitouUser from ユーザマスタ where ユーザ名 = '" & searchName & "'"
でしょ?

編集 削除
葉月  2005-04-26 13:56:24  No: 121209  IP: [192.*.*.*]

多分id_rsa+さんのでできるはずとは思うが
その前に、Debug.Printやイミディエイトの使い方を覚えるべきかも知れない・・・
と思ってみる

編集 削除
いな  2005-04-26 14:29:17  No: 121210  IP: [192.*.*.*]

ん〜
>ユーザマスタというテーブルの中のユーザ名というフィールドと
>searchNameに入れた文字と一致するレコードをカウント

ってぐらいだから、部分一致検索じゃないのかなぁ〜と思った。
完全一致検索だったら、カウントとるのも不自然な気がした。

ってこのすれ、放置されて久しいかな

編集 削除
ささ  2005-04-26 14:30:59  No: 121211  IP: [192.*.*.*]

それ以前に、

>その上でIF文を使ってGaitouUserがいくつ以上か

っていう以上、完全一致検索はないと思われ。

編集 削除
id_rsa+  2005-04-26 20:39:27  No: 121212  IP: [192.*.*.*]

それもそうかも(@@)

編集 削除