VB6.0を利用しています。
ユーザマスタというテーブルの中のユーザ名というフィールドとsearchNameに入れた文字と一致するレコードをカウントしたいのですが、うまくいきません。
searchName = txtData(0).Text
SQLText = "select Count (*) as GaitouUser from ユーザマスタ where ユーザ名 = 'searchName'"
この様に指定した上で、rs.Openを使って結果セットを取得し、その上でIF文を使ってGaitouUserがいくつ以上か、と判断できるのがベストなのですが・・・
ここがおかしい、とかありましたら教えて頂けませんでしょうか?
よろしくお願いします。
ユーザー名のフィールドが、
Char型であるならば、よくやりがちなのはスペースが入ってるから
一致しない!
つまり、実際のDBには
'searchName'ではなく'searchName '入っているのでは?
可変長文字列型か、Trimしましょう
あれ?該当ユーザー?
ってことはLikeかな?
searchName = txtData(0).Text
SQLText = "select Count (*) as GaitouUser from ユーザマスタ where ユーザ名 Like 'searchName%'"
SQLText = "select Count (*) as GaitouUser from ユーザマスタ where ユーザ名 = '" & searchName & "'"
でしょ?
多分id_rsa+さんのでできるはずとは思うが
その前に、Debug.Printやイミディエイトの使い方を覚えるべきかも知れない・・・
と思ってみる
ん〜
>ユーザマスタというテーブルの中のユーザ名というフィールドと
>searchNameに入れた文字と一致するレコードをカウント
ってぐらいだから、部分一致検索じゃないのかなぁ〜と思った。
完全一致検索だったら、カウントとるのも不自然な気がした。
ってこのすれ、放置されて久しいかな
それ以前に、
>その上でIF文を使ってGaitouUserがいくつ以上か
っていう以上、完全一致検索はないと思われ。
それもそうかも(@@)
ツイート | ![]() |