- PR -

ADO レコード参照について

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/10/22
投稿数: 6
投稿日時: 2005-10-26 19:59
下記の最終行でエラーになってしまうのは何故でしょうか?
どのように解決すればいいのでしょうか?

エラー内容:ORA-00904: "DISTINCTPAGE_ID": 無効な識別子です。

<ソース>
Dim oADOCon As ADODB.Connection
Dim oRet1 As ADODB.Recordset

Set oADOCon = CreateObject("ADODB.Connection")
Call oADOCon.Open(cnConnection)

SQL1 = "select count(distinct page_id) from documentation"

Set oRet1 = CreateObject("ADODB.Recordset")
Call oRet1.Open(SQL1, oADOCon, adOpenForwardOnly, adLockReadOnly,adCmdText)

らい
大ベテラン
会議室デビュー日: 2005/08/02
投稿数: 159
お住まい・勤務地: 東京都と千葉県のさかいめ
投稿日時: 2005-10-26 21:00
らいと申します。

引用:

STARTRECさんの書き込み (2005-10-26 19:59) より:
下記の最終行でエラーになってしまうのは何故でしょうか?
どのように解決すればいいのでしょうか?

エラー内容:ORA-00904: "DISTINCTPAGE_ID": 無効な識別子です。

コード:

   Dim oADOCon     As ADODB.Connection
   Dim oRet1       As ADODB.Recordset

   Set oADOCon = CreateObject("ADODB.Connection")
   Call oADOCon.Open(cnConnection)

   SQL1 = "select count(distinct page_id) from documentation"

   Set oRet1 = CreateObject("ADODB.Recordset")
   Call oRet1.Open(SQL1, oADOCon, adOpenForwardOnly, adLockReadOnly,adCmdText)




とりあえず確認を。

  • adOpenForwardOnly
  • adLockReadOnly
  • adCmdText

この3つは、定数を設定していますよね?

えと、エラーから言って、SQL文に問題があると思います。
というか、「count(distinct page_id)」はまずいんではなかろうか、と。
「distinct」って、重複する行を取り除く命令だと思ったので、

コード:

   SQL1 = "select count(*) from (select count(page_id) from" & _
          " documentation group by page_id)"


というところではないでしょうか。


_________________
一寸先は闇
安定してるシステムって言ったじゃん(泣)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-26 23:36
同一サイトにマルチポストですか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25497&forum=26

こちらは、Linux Square 会議室で板違いなのであちらで続きをやりましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)