こんにちは!

ASPでADOを利用してSQLを使っていまして、
任意の文字列検索をやりたいのですが、うまくヒットしません。
AccessでのSQLで、likeを使った
((フィールド名) Like "*文字列*")を使いたいのですが、
ASPではアスタリスク*がうまく認識されていないような気がします。
うまくやる方法は無いのでしょうか?

A 回答 (2件)

ADOを利用しているのでしたら、



*(アスタリスク)でなくて
%(パーセント)を使用してみてください。
    • good
    • 0
この回答へのお礼

うまくいきました。
助かりました。ありがとうございます。

お礼日時:2001/09/17 17:05

惜しいですね。


世間一般的なデータベースでは、「%」や「_」をワイルドカードとして使用します。
    • good
    • 0
この回答へのお礼

おっしゃる通りでした。
ありがとうございました。

お礼日時:2001/09/17 17:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QASPでADOを使う場合

ASPでADOを使う場合、
ADOコネクションをセッション変数に代入し、再利用し方がよいのでしょうか?それともクライアントの問い合わせごとに作成して処理した方がよろしいのでしょうか?

Aベストアンサー

後者です。
以下のURLを参照してください。

『データベース接続を Application オブジェクトまたは Session オブジェクトにキャッシュしない』
http://www.microsoft.com/japan/msdn/web/server/asp/asptips.asp#asptips_tip5

QASPでSQL文を使う場合に。

クラシックなASPを利用しております。
データベース(mdb)に、ユーザIDによってフィールドが分けられた部分があります。
そこをカウントさせたいです。その際のSQL文の書きかたがよくわかりません。

イメージとしては、以下のようなかんじです。
     ユーザID:A ユーザID:B
データID    1      1
データID    1      1
こんなかんじでデータベースに登録されていて、ユーザIDごとにデータが入力されている(1と入力されている)フィールドをカウントしたいのです。

ユーザIDは、ログインする際に取得されるもので、個人個人で変わります。Sessionを使用しています。

SQL文の中に引数という形でユーザIDが代入されれば解決するのですが、どうもうまくいきません。なんとか教えていただけないものでしょうか。

Aベストアンサー

質問の内容がいまひとつよく理解できないのですが、Sessionで取得したユーザーIDと同名のDBフィールドでレコードが1のもののレコード数を取得したいでよいのかな?
それなら、下の様にしたらどうでしょうか?
Dim sql As String
Dim userId As String
UserId = Session("Key")
sql = "SELECT COUNT(" & UserId & ") AS Count "
sql = sql & "FROM Table "
sql = sql & "WHERE " & UserId & " = 1"

QASP.NETでSQL文を使って任意の形式で文字を表示させるには?

例えば、
列名  名前、番号
データ "Aさん"、1234567890
という数値がSQLサーバに入ってるとします。
これをASPのデータグリッドに表示させるのですが、
その際に番号の下4桁を****と表示させたいのです。
こういう感じです。
123456****
本当言うと、別にSQL文でしなくてもいいのですが、
何かしらの方法でデータグリッドにこのように表示させるには、
どうしたらよいのでしょうか?
どうぞ、ご教授よろしくお願いしますm(_ _)m

Aベストアンサー

SQL文で処理するなら
select
名前,
番号,
substring(番号,1,len(番号)-4) +N'****' as 番号2
from テーブル
のようなCommandTextにする
(SQL ServerのCommandTextの例です)

更新クエリが必要で
ウィザードを使用しているなら、
番号2は最初は含めず後で
DataAdapterのSelectCommandとDataSetとTableMappingを
カスタマイズし番号2をデータグリッドに割り当てる。

QASPとASP.NETとASP.NET2.0の違い

Web開発初心者です。

帳票をPDF表示するWebアプリケーションを開発することになり、
言語はASPを使用することになりました。

そこで
ASP
ASP.NET
ASP.NET2.0
の違いをご存知の方がいらっしゃいましたら教えていただけますでしょうか。
それぞれIIS以外に必要な実行環境、ツール等も教えていただけると助かります。

不明瞭な箇所がありましたら説明させていただきます。
すいませんがよろしくお願いします。

Aベストアンサー

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用の制限等はありません。

(http://www.microsoft.com/japan/msdn/vstudio/express/faq/default.aspx)

「Express Edition を商用目的で使用することはできますか。」

また、「ASP.NET1.1用」の無料の開発ツールとして、3rdパーティ製ですが、
「Web Matrix 」と言うのがあります。

「ASP.NET Web Matrix Project 日本語版」
(http://www.microsoft.com/japan/msdn/asp.net/webmatrix/)

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用...続きを読む

QASP+アクセスでのSQLコメントについて

SQL文にコメントを入れたいのですが、下記エラーになります。下記コードでSQL文にコメント入れる方法を教えてください。
Microsoft JET Database Engine (0x80040E14)
SQL ステートメントの後に文字が見つかりました。

SELECT * FROM sqltable where idnum like 'hoge';--
SELECT * FROM sqltable where idnum like 'hoge'--;
を試して両方同じエラーでした。

Dim objCon
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Mode=1
objCon.ConnectionString = Server.MapPath("db1.mdb")
objCon.Provider = "Microsoft.Jet.OLEDB.4.0"
objCon.Open
strSQL = "SELECT * FROM sqltable where idnum like 'hoge';--"
SET result = objCon.Execute(strSQL)
objCon.Close
Set objCon = Nothing

環境は以下のようになります。
WinXP+IIS5+Access2003

SQL文にコメントを入れたいのですが、下記エラーになります。下記コードでSQL文にコメント入れる方法を教えてください。
Microsoft JET Database Engine (0x80040E14)
SQL ステートメントの後に文字が見つかりました。

SELECT * FROM sqltable where idnum like 'hoge';--
SELECT * FROM sqltable where idnum like 'hoge'--;
を試して両方同じエラーでした。

Dim objCon
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Mode=1
objCon.ConnectionString = Server.MapPath("db1.mdb"...続きを読む

Aベストアンサー

データベースはAccessを使用しているのですね。
であれば、コメントは記述できません。
^^^^^^^^^^^^^^^^^^^^^^^^^

Accessを開いて、クエリで、
SELECT * FROM sqltable where idnum like 'hoge';--
を実行してみてください。
「SQL ステートメントの後に文字が見つかりました。」というエラーが出るはずです。

ASPとか関係なく、SQL文に問題があるのです。

ちなみに、
SQL-ServerやOracleではSQL文の中にコメントが書けます。
ASPで実行しても問題なく動きます。


人気Q&Aランキング

おすすめ情報