0

データベースからのデータを使用して csv ファイルを作成しています。選択した消費者 ID のすべてのデータを csv ファイルに追加する必要があります。私のプログラムでは、csv ファイルが電子メールに添付されていました。たとえば、3 つの選択された消費者 ID があり、電子メールが送信されましたが、csv ファイルを確認すると、最初に選択された ID が表示されず、最初の行が空白のままになっています。 csv の 2 番目と 3 番目の追加。最初に選択した ID のデータが表示されない理由がわかりません。助けてください..ここに私のコードがあります:

 private String getConsumersDetails(ArrayList<String> arraylistConsumerId)
{           
    for (int j = 0; j < arraylistConsumerId.size(); j++)
    {
            //Cursor cursorConsumerDetails = null;
            Cursor cursorConsumerDetails = databaseAdapter.getCursorRegisteredConsumer(Integer.parseInt(arraylistConsumerId.get(j)));
            //if (cursorConsumerDetails.getCount() == 0)
                //cursorConsumerDetails = databaseAdapter.getCursorRegisteredConsumer(arraylistConsumerId.get(j));
                // consumerData.append("\n"+lastname+","+firstname+","+middleinitial+","+cellphone+","+emailadd+","+carefriend+","+company+","+regdate);     

            if (cursorConsumerDetails.getCount() > 0)
            {
                lastname = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_LASTNAME));
                firstname = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_FIRSTNAME));
                middleinitial = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_MIDDLEINITIAL));
                cellphone = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_CELLPHONENO));
                emailadd = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_EMAIL));
                carefriend = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_CAREFRIEND));
                company = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_COMPANY));
                regdate = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_REGISTRATIONDATE));

                code = cursorConsumerDetails.getString(cursorConsumerDetails.getColumnIndex(Constants.CONSUMER_COMPANYCODE));


            }

            consumerData.append("\n"+lastname+","+firstname+","+middleinitial+","+cellphone+","+emailadd+","+carefriend+","+company+","+regdate);    


       }

    return consumerData.toString();
}

これは上記のコードを呼び出します.... ....

consumerData = new StringBuilder();
                    File personFile;
                    time = String.valueOf(calendar.get(Calendar.HOUR_OF_DAY))+String.valueOf(calendar.get(Calendar.MINUTE))+String.valueOf(calendar.get(Calendar.SECOND));
                    personFile = createCSV("Person_Table_"+date+"_"+time, Constants.COLUMN_STRING_PERSON_TABLE, getConsumersDetails(arraylistConsumerId), fileCounter, false);

                    createEmailWithAttachments(personFile);

....
4

1 に答える 1

0
Androidでどのように行われたかはわかりませんが、一般的には
 sqlite3 データベースから csv ファイルを取得します。
.mode csv
.output filename.csv
select * from table;

csv ファイルは、sqlite データベース ファイルが格納されている現在のディレクトリになります。

于 2013-06-08T10:06:02.507 に答える