三流君(TOP) /ASPで遊ぶ /記事一覧

ADOでCSVファイルと接続、Count関数で出版社名略称を集計してみた

test080-3.asp
ADOでCSVファイルと接続、Count関数で出版社名略称で個数を集計してみた
CSVに対してADO接続で、Gorup Byが使えることを確認してみました。

ファイル名はtest080.csvで、データは,カンマで区切られてます。
フィールドのイメージ
ISBN,書名,出版社名略称,価格,発売日
4-8399-0986-5,CPUの創りかた,毎コミ,2800,2003/9/30
4-8399-0997-0,速効!図解 ホームページ・ビルダー7,毎コミ,1280,2003/3/13
4-7980-0455-3,写真・イラスト入りはがきをつくる本,秀和システム,1280,2003/1/30
4-89369-974-1,VBAによるArcGISプログラミングガイド,BNN新社,2500,2003/9/26
4-7561-4198-6,プロジェクトマネジメント 実践の極意,アスキー,3200,2002/12/2
   ・
下記のようなSQL文と接続文字列でADOのレコードセットを作成してみました
  'SQLのテーブル名には、ファイル名を指定します。
  'Group By 出版社名略称でグループ化して冊数を数えてみました
  strSQL = "select 出版社名略称, Count(*) AS 冊数 from test080.csv"
  strSQL = strSQL & " Group By 出版社名略称"
'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する
Con = "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & _
      Server.MapPath(".") & ";"
'↑MapPathに(".")を渡し、カレントディレクトリを渡す

こんな感じで作成してみました。(詳細は下のほうにあるソースを見てください)
使用する接続文字列は
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\users\ken3_org\Cgi-bin\test;
発行するSQL文字列は
select 出版社名略称, Count(*) AS 冊数 from test080.csv Group By 出版社名略称
出版社名略称冊数
BNN新社2
FOM出版3
九天社1
技術評論社7
実教出版1
アスキー2
インプレス1
エーアイ出版1
ソフトバンク1
秀和システム1
毎コミ3
翔泳社2
日経BP出版センター2
ラトルズ1

[元ファイルtest080.csvを開く]

コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[Blogで商品紹介] ← 足跡から人気を判断?
[本日発売の商品] ← 発売日が当日の商品を紹介、、、するが効果が無いので → [先週発売の商品] ← を作成して、先走らないで、少し落ち着いてみます(笑)

Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=を使用したサンプル(ソースの紹介)

詳細解説は[http:/asp/backno/asp080.html]を見てください
下記、/cgi-bin/test/test080-3.aspのソース(中身)です

Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ= を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはDriver={Microsoft Text Driver (*.txt; *.csv)};DBQ= です。 <%@LANGUAGE=VBScript%> <html> <head> <title>ADOでCSVファイルと接続、Count関数で出版社名略称を集計してみた</title> </head> <body> <h1>ADOでCSVファイルと接続、Count関数で出版社名略称を集計してみた</h1> test080-3.asp<br> ADOでCSVファイルと接続、Count関数で出版社名略称で個数を集計してみた<br> <em>CSVに対してADO接続で、Gorup Byが使えることを確認してみました。</em><br> <pre><code> ファイル名はtest080.csvで、データは,カンマで区切られてます。 フィールドのイメージ ISBN,書名,出版社名略称,価格,発売日 4-8399-0986-5,CPUの創りかた,毎コミ,2800,2003/9/30 4-8399-0997-0,速効!図解 ホームページ・ビルダー7,毎コミ,1280,2003/3/13 4-7980-0455-3,写真・イラスト入りはがきをつくる本,秀和システム,1280,2003/1/30 4-89369-974-1,VBAによるArcGISプログラミングガイド,BNN新社,2500,2003/9/26 4-7561-4198-6,プロジェクトマネジメント 実践の極意,アスキー,3200,2002/12/2 ・ 下記のようなSQL文と接続文字列でADOのレコードセットを作成してみました 'SQLのテーブル名には、ファイル名を指定します。 'Group By 出版社名略称でグループ化して冊数を数えてみました strSQL = &quot;select 出版社名略称, Count(*) AS 冊数 from test080.csv&quot; strSQL = strSQL & &quot; Group By 出版社名略称&quot; <Font Color='Green'>'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する</Font> Con = &quot;Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=&quot; &amp; _ Server.MapPath(&quot;.&quot;) &amp; &quot;;&quot; '↑MapPathに(&quot;.&quot;)を渡し、カレントディレクトリを渡す </pre></code><br> こんな感じで作成してみました。(詳細は下のほうにあるソースを見てください) <hr> <% 'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん Set rs=Server.CreateObject("ADODB.Recordset") 'SQLのテーブル名には、ファイル名を指定します。 'Group By 出版社名略称でグループ化して冊数を数えてみました strSQL = "select 出版社名略称, Count(*) AS 冊数 from test080.csv" strSQL = strSQL & " Group By 出版社名略称" '接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する Con = "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & _ Server.MapPath(".") & ";" '↑MapPathに(".")を渡し、カレントディレクトリを渡す Response.Write "使用する接続文字列は<br>" Response.Write "<STRONG><CODE>" & Con & "</CODE></STRONG><br>" Response.Write "発行するSQL文字列は<br>" Response.Write "<STRONG><CODE>" & strSQL & "</CODE></STRONG><hr>" '接続文字列、SQLを渡して、レコードセットを開く rs.Open strSQL, Con, 0 '0=adOpenForwardOnly 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しを(フィールド名を)そのまま書き込む Response.Write "<TR>" For Each fld_A In rs.Fields 'フィールドのアイテムに対してループ Response.Write "<TH>" & fld_A.Name & "</TH>" '←.Nameでフィールド名 Next Response.Write "</TR>" 'お約束のEOFまでループは(データが無くなるまでループ)、 Do While rs.EOF = False 'レコードセットの.EOFがFalseの間 Response.Write "<TR>" '内容を表示する For Each fld_A In rs.Fields 'フィールドのアイテムに対してループ Response.Write "<TD>" & fld_A.Value & "</TD>" '←.Valueでフィールドの値 Next Response.Write "</TR>" rs.MoveNext '次のレコードに移動する Loop Response.Write "</TABLE></SAMP>" 'テーブルは終わりです '後始末 rs.Close '開いていたレコードセットを閉じる Set rs = Nothing 'お行儀よくオブジェクトも開放しましょう %> <hr> [<a Href="test080.csv" TARGET="_blank">元ファイルtest080.csvを開く</a>]<br> </body> </html>

最近発売の雑誌を紹介する

たまには、パズルなとで頭を柔らかくしておくと、プログラミングのひらめきもUPするかなぁ・・・
  1. オールクロスワード 2008年 06月号
  2. スケルトンくらぶ 2008年 06月号
  3. アロー & スケルトンパル 2008年 06月号
  4. お絵かきメイト 2008年 06月号
  5. デラックスクロスワード 2008年 06月号
  6. まちがいさがしミュージアム 2008年 06月号
  7. まちがいさがしメイト 2008年 06月号
  8. クロスワード in (イン) 2008年 06月号
  9. 漢字ナンパラ DX (デラックス) 2008年 06月号

SQL総合の書籍を紹介します

  1. [4774117552]- 改訂新版 SQLポケットリファレンス (Pocket reference)
  2. [4797335459]- プロとしてのOracle PL/SQL入門
  3. [4891005114]- ひと目でわかるMicrosoft SQL Server 2005 (マイクロソフト公式解説書)
  4. [4873112818]- 初めてのSQL
  5. [4781910246]- リレーショナルデータベース入門―データモデル・SQL・管理システム (Information&Computing)
  6. [4798014958]- PostgreSQL完全機能リファレンス―実行例を通して「理解」を深める。

Googleで関連項目を検索する

LANGUAGE=VBScript + [キーワード:Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=] Sub|Function プログラム|プログラミング
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

実行サンプルと解説ページのリンク

ASPでCSVと接続して、SQL文等を発行するサンプル

ASP系、ADO使用、CSV接続、SQL発行、メルマガ解説リンク

[No.80 Microsoft Text Driver (*.txt; *.csv) で接続してみた]
[No.90 ADO CSVで先頭行にフィールド名が無い時]
[No.91 ADO CSVでReadOnly=0と.AddNewを使いデータ追加]
[No.101 ADO CSV接続 勝手に型を決めんなよ・・・]
[No.102 ADO CSV接続 schema.iniを使い型を設定してみた]

三流解説とリンクページを紹介

ASP系の解説を項目ごとにまとめてみました

[ASP Form等を使用したデータのやり取り]
[ASP その他処理サンプル]
[ASP テキストファイル処理]
[ASP VBScript関数関係の説明]
[ASP ADOでMdbファイルを使う]
[ASP ADOでExcelと接続してみた]

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[三流なプログラムコード]← 恥ずかしいのであまり載せてないけど・・・
[通販商品の足跡を紹介] ←通販商品などを紹介してます


現在時刻は、2008/05/17 14:30:40です。
[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]