Classic ASP のテストページです。
情報が古いので参考程度に読んだりテストしてみてください。
三流君(TOP)
/ASPで遊ぶ
/ASP記事一覧を見る
分類:
[Form関係]
/DB系ADOを使い(
[Mdb接続]
[CSV接続]
[Excel接続])
/[ASPでTextFileを操作]
/[VBScript関数ほか]
ADO ヘッダー無しのCSVと接続 F1,F2などの自動項目を条件にする
test090-2.asp
ASPからADOを使用してテキストファイル(*.csv)に接続を行う
ファイル名はtest090.csvで、データは,カンマで区切られてます。
先頭行にあると便利なフィールド名が今回はありません。
※データが1行目から入っているカンマ区切りのCSVファイルです
もう一つパラメータ ;Extended Properties='text;HDR=NO'を追加してみました。
'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する
Con = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(".") & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited;"";"
'↑MapPathに(".")を渡し、カレントディレクトリを渡す
こんな感じで接続文字を作成
SQL文でF1,F2などの自動で付けられるフィールド名を使ってみました。
※詳細は下記の実行結果とソースを見てください
使用する接続文字列は
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\users\ken3_org\Cgi-bin\test;Extended Properties="text;HDR=No;FMT=Delimited;";
発行するSQL文字列は
select * from test090.csv Where F3 = '日経BP出版センター'
F1 | F2 | F3 | F4 | F5 |
---|
4-8222-8177-9 | プロジェクトはなぜ失敗するのか | 日経BP出版センター | 1800 | 2003/10/02 |
4-8222-0785-4 | 信頼されるSEの条件 | 日経BP出版センター | 1700 | 2003/03/13 |
↓で元のヘッダー無しのCSVを確認してみてください。
[ヘッダ無しの元ファイルtest090.csvを開く]
ヘッダー無しのCSVを使用したサンプル(ソースの紹介)
詳細解説は[http:/asp/backno/asp090.html]を見てください
下記、/cgi-bin/test/test090-2.aspのソース(中身)です
|
ヘッダー無しのCSV を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードはヘッダー無しのCSV です。
<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>ADO ヘッダー無しのCSVと接続 F1,F2などの自動項目を条件にする</title>
</head>
<body>
<h1>ADO ヘッダー無しのCSVと接続 F1,F2などの自動項目を条件にする</h1>
test090-2.asp<br>
ASPからADOを使用してテキストファイル(*.csv)に接続を行う<br>
ファイル名はtest090.csvで、データは,カンマで区切られてます。<br>
先頭行にあると便利なフィールド名が今回はありません。<br>
※データが1行目から入っているカンマ区切りのCSVファイルです<br>
もう一つパラメータ ;Extended Properties='text;HDR=NO'を追加してみました。<br>
<pre>
<Font Color='Green'>'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する</Font>
Con = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(".") & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited;"";"
'↑MapPathに(".")を渡し、カレントディレクトリを渡す
</pre><br>
こんな感じで接続文字を作成<br>
SQL文でF1,F2などの自動で付けられるフィールド名を使ってみました。<br>
※詳細は下記の実行結果とソースを見てください<br>
<hr>
<%
'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん
Set rs=Server.CreateObject("ADODB.Recordset")
'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する
Con = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(".") & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited;"";"
'↑MapPathに(".")を渡し、カレントディレクトリを渡す
'SQLのテーブル名には、ファイル名test090.csvを指定します。
strSQL = "select * from test090.csv"
strSQL = strSQL & " Where F3 = '日経BP出版センター'"
'↑F3の出版社の項目を条件にしてデータをWhereで絞り込む
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>
↓で元のヘッダー無しのCSVを確認してみてください。<br>
[<a Href="test090.csv" TARGET="_blank">ヘッダ無しの元ファイルtest090.csvを開く</a>]<br>
</body>
</html>
|
|
Googleで関連項目を検索する
[キーワード:ヘッダー無しのCSV] と サンプル|解説|Dim|Set で検索
↓で検索して他のページも確認してみてください。
あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))
実行サンプルと解説ページのリンク
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を使い型を設定してみた]
[Topへ戻る]
−−>[ASP系のTOPへ戻る]
−−>[記事一覧を見る]
リンク 三流君 ASP系 の 解説を項目ごとにまとめてみました
まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。
次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません
DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く
VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。
その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[永遠の下書き日記?]← 恥ずかしいのであまり載せてないけど・・・
[ひとりで掲示板?] ←一人で?掲示板?ぉぃぉぃ
[Topへ戻る]
−−>[ASP系のTOPへ戻る]
−−>[記事一覧を見る]
現在時刻は、2022/05/23 11:56:00です。