Extended Properties='text;HDR=NO' を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードはExtended Properties='text;HDR=NO' です。
<%@LANGUAGE=VBScript%>
<html>
<head>
<title>ADO Extended Properties='text;HDR=NO' でヘッダー無しCSVと接続</title>
</head>
<body>
<h1>ADO Extended Properties='text;HDR=NO' でヘッダー無しCSVと接続</h1>
test090-1.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>
こんな感じで作成しました。
<hr>
<%
'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん
Set rs=Server.CreateObject("ADODB.Recordset")
'SQLのテーブル名には、ファイル名test090.csvを指定します。
strSQL = "select * from test090.csv"
'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する
Con = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(".") & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited;"";"
'↑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>
無事、F1,F2などと、フィールド名が自動で設定されました。<br>
↓で元のヘッダー(項目名)無しのCSVを確認してみてください。<br>
[<a Href="test090.csv" TARGET="_blank">ヘッダ無しの元ファイルtest090.csvを開く</a>]<br>
</body>
</html>
| 最近発売の雑誌を紹介する
不健康なプログラマーさん達へ(オイオイ)こんな雑誌もあります。
- 婦人之友 2008年 06月号
- LiVES (ライヴズ) 2008年 06月号
- アー・ユー・ハッピー ? 2008年 06月号
- サライ 2008年 6/5号
- がん治療最前線 2008年 07月号
- Good (グッド) リフォーム 2008年 07月号
- からだにいいこと 2008年 07月号
- わかさ 2008年 07月号
- NHK ためしてガッテン 2008年 07月号
|