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


G  2005-04-23 23:18:25  No: 121205

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

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

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


いな  2005-04-24 02:19:21  No: 121206

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

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


いな  2005-04-24 02:20:18  No: 121207

あれ?該当ユーザー?

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


id_rsa+  2005-04-24 08:45:08  No: 121208

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


葉月  2005-04-26 22:56:24  No: 121209

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


いな  2005-04-26 23:29:17  No: 121210

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

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

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


ささ  2005-04-26 23:30:59  No: 121211

それ以前に、

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

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


id_rsa+  2005-04-27 05:39:27  No: 121212

それもそうかも(@@)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加