古い古典的なASPサイトで作業していて、問題が発生しました。私はデータベーステーブルを照会できますが、ビューは照会できません。SQLビューを照会できません
テーブルにこのクエリは、行の正しい数を返し:
Set rs = Server.CreateObject("ADODB.Recordset")
sqlQuery = "SELECT * FROM tblContent;"
rs.Open sqlQuery, conn, 1, 2
response.write "q1 cnt = " & rs.RecordCount
をビュー上の同じクエリが-1
を返す:
Set rs = Server.CreateObject("ADODB.Recordset")
sqlQuery = "SELECT * FROM myView;"
rs.Open sqlQuery, conn, 1, 2
response.write "q2 cnt = " & rs.RecordCount
から実行する場合、両方のクエリが行の正しい数を返しますSQL Server Management Studioですが、.asp
Webページから呼び出された場合は1つのみ動作します。同じことがDBのすべてのテーブルとビューに適用されているようです(私はそれぞれの半分をテストしました)。
ここで何が起こっているかについて手掛かりを与えることができますか?
SQLレベルで行を数えます。あなたはあなたのクエリ 'SELECT COUNT(*)myrecordcount FROM myView'を持つことができ、' rs( "myrecordcount") ' – John
@John:Thanksの値を表示することができました。私はまだ上記に困惑していますが、あなたの回避策は私が必要とするものを正確に行います。あなたが答えを出すなら、それを受け入れます。乾杯。 – Robert
ビューのクエリはおそらく正しい行を返します*。それはちょうど正しい値を得ない '.RecordCount'プロパティです。もう一つの回避策は、結果を配列に埋め込み( 'GetRows'を使って)、' UBound() 'を使うことです。 – Martha