アプリ版:「スタンプのみでお礼する」機能のリリースについて

ASPの勉強をしています。
CSVファイルを読み込んでDBに登録していきたいのですが、

111,222,"aaa[改行]bbb","1,000",444,555

のようなデータがあったとすると、
「1,000」の桁区切りのカンマのせいで、
「1」 と 「000」に別れてしまいます。
これを防ぐプログラムを作りたいのですが、
わかる方よろしくお願いします。

現在はReadLineで1行ずつ読み込んでいます。
set ObjFS = CreateObject("Scripting.FileSystemObject")
set Stream = ObjFS.OpenTextFile(Server.MapPath(FILENAME,1,false,0)
ReadBuf = Stream.ReadLine

A 回答 (2件)

「1」と「000」に別れてしまいます。



と、ありますがこれはDBに登録した結果ですか?
それともSplit関数の結果でしょうか・・・。

あと、データ中に改行が含まれているにもかかわらず、1行ずつの読み込んでちゃんと登録できるのか、疑問です。

Split関数でレコードを分解し、データに改行を許可するのであれば、
・ダブルクォーテーション(")を考慮したSplit関数を自作
・データに改行が含まれていたら次の行も1件として考える
という仕組みが必要になると思います。

この回答への補足

ありがとうございます。
「1」と「000」に別れるのは、
おっしゃる通り、Split関数の結果です。
配列数を確認して足りなかったら、
次の行も連結する、という方法で読み込んでます。

ダブルクォーテーションを考慮した自作の関数ですが、
もしよろしければ、
ソースでもあれば教えていただきたいのですが。
まったくわからないので・・・。

補足日時:2006/09/18 22:21
    • good
    • 0

元々のdataに問題があるような気がしますが


無理やり行うのであれば、列DATA一つづつ
if ””がある場合 then
if dataに,が存在した場合, then を削除する
の処理を入れればよいのではないですか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!