Как загнать таблицу из SQLite в .CSV?
Как загнать таблицу из SQLite в .CSV?
Доброго времени суток!
Благодаря соседней теме как прочитать данные из *.csv узнал как загнать данные в Базу
.... теперь собсно, стал вопрос как достать оттуда таблицу и загнать ее в .CSV
Тема очень актуальна.
Заранее ОГРОМНОЕ спасибо за хороший пример:)
Благодаря соседней теме как прочитать данные из *.csv узнал как загнать данные в Базу
.... теперь собсно, стал вопрос как достать оттуда таблицу и загнать ее в .CSV
Тема очень актуальна.
Заранее ОГРОМНОЕ спасибо за хороший пример:)
Re: Как загнать таблицу из SQLite в .CSV?
http://stackoverflow.com/questions/4632 ... ble-values
Второй ответ показывает как читать данные с sqlite и записывать их в csv.
Второй ответ показывает как читать данные с sqlite и записывать их в csv.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Как загнать таблицу из SQLite в .CSV?
Вот это наверно то что надо!!! Огромное спасибо, ща буду кодить....))rezak90 писал(а):http://stackoverflow.com/questions/4632 ... ble-values
Второй ответ показывает как читать данные с sqlite и записывать их в csv.
Re: Как загнать таблицу из SQLite в .CSV?
А вообще, во что умеет экспортировать Android?
Основная цель - импорт из базы устройства через инет в 1С.
В принципе .... думаю ... CSV тут вполне хватит ... но хочется послушать мнения умных людей:)
Заранее спасибо!!!
Основная цель - импорт из базы устройства через инет в 1С.
В принципе .... думаю ... CSV тут вполне хватит ... но хочется послушать мнения умных людей:)
Заранее спасибо!!!
Re: Как загнать таблицу из SQLite в .CSV?
Если подробней опишите функционал то может и созреет какая то мысль. Потому что я не совсем понял что вам нужно. То что я понял: передаётся бд по http а потом как то её пихнуть в 1С))) каша, подробнее ТЗ нужно.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Как загнать таблицу из SQLite в .CSV?
ну по 1С есть свой программер:) втягивать будет он ... пока разговора не было, но скоро будет. Главное, как говорится, не ударить лицом в грязь:)rezak90 писал(а):Если подробней опишите функционал то может и созреет какая то мысль. Потому что я не совсем понял что вам нужно. То что я понял: передаётся бд по http а потом как то её пихнуть в 1С))) каша, подробнее ТЗ нужно.
Вопрос как бы не конкретный, просто интересует во что еще можно выгрузить таблицу(цы) из SQLite под андроидом.
Re: Как загнать таблицу из SQLite в .CSV?
так вопрос по моему нужно ставить иначе, как удобней будет принимать эти данные? как передавать? Например можно json, можно вообще по-байтно, можно таким прекрасным средством protobuf - это всё если по и-нету. Если же какими то другими путями то уже размышлять нужно.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Как загнать таблицу из SQLite в .CSV?
Вот вот, тыкните носом пожалуйста где можно почитать про json и protobuf на русском:)
P.S. Я просто сам пока не знаю что мне надо будет:)
P.S. Я просто сам пока не знаю что мне надо будет:)
Re: Как загнать таблицу из SQLite в .CSV?
protobuf:
https://developers.google.com/protocol- ... vatutorial
а здесь можно почитать про время сериализации и десериализации, что может быть важно для большого объёма инфы:
http://thejava.info/j2ee/45-other/82-protobuf-overview-
json:
http://www.json.org/java/
https://developers.google.com/protocol- ... vatutorial
а здесь можно почитать про время сериализации и десериализации, что может быть важно для большого объёма инфы:
http://thejava.info/j2ee/45-other/82-protobuf-overview-
json:
http://www.json.org/java/
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Как загнать таблицу из SQLite в .CSV?
Все здорово, вот только все окультурил. Спасибо за ссылку, помогло.rezak90 писал(а):http://stackoverflow.com/questions/4632 ... ble-values
Второй ответ показывает как читать данные с sqlite и записывать их в csv.
В итоге код превратился в :
Код: Выделить всё
private void exportTheDB() throws IOException
{
String fil = "myexp.csv";
String encoding="Windows-1251";
try { Log.d(TAG, "Траим .....");
FileOutputStream fOut = openFileOutput(fil, Context.MODE_WORLD_READABLE);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut, encoding);
Log.d(TAG, "Пишем .....Шапку ");
myOutWriter.append("_id;company;name;summa;type;date_time;confirm");
myOutWriter.append("\n");
Cursor zero = mDbHelper.fatchAllOrderHd();
startManagingCursor(zero);
Log.d(TAG, "Выгружаем .............................. ");
if (zero != null) {
if (zero.moveToFirst()) {
do {
String _id = zero.getString(zero.getColumnIndex("_id"));
String company = zero.getString(zero.getColumnIndex("company"));
String name = zero.getString(zero.getColumnIndex("name"));
String summa = zero.getString(zero.getColumnIndex("summa"));
String type = zero.getString(zero.getColumnIndex("type"));
String date_time = zero.getString(zero.getColumnIndex("date_time"));
String confirm = zero.getString(zero.getColumnIndex("confirm"));
Log.d(TAG, _id +" "+ company +" "+ name +" "+ summa +" "+ type +" "+ date_time +" "+confirm);
myOutWriter.append(_id+";"+company+";"+name+";"+summa+";"+type+";"+date_time+";"+confirm);
myOutWriter.append("\n");
}
while (zero.moveToNext());
}
zero.close();
myOutWriter.close();
fOut.close();
}
} catch (SQLiteException se)
{
//Log.e(getClass().getSimpleName(),"Could not create or Open the database");
}
finally {
// sampleDB.close();
}
Последний раз редактировалось Xroft 12 сен 2012, 03:49, всего редактировалось 1 раз.
Re: Как загнать таблицу из SQLite в .CSV?
Спасибо, обязательно почитаюrezak90 писал(а):protobuf:
https://developers.google.com/protocol- ... vatutorial
а здесь можно почитать про время сериализации и десериализации, что может быть важно для большого объёма инфы:
http://thejava.info/j2ee/45-other/82-protobuf-overview-
json:
http://www.json.org/java/
Re: Как загнать таблицу из SQLite в .CSV?
Извиняюсь, но мой мой мозг автоматом зацепился за возможность слома алгоритма.
Гипотетически, если в одном из полей БД в тексте будет использован знак ";", то произойдет сбой при передаче данных между источниками.
Думаю тут нужно предусмотреть подмену этого знака.
Гипотетически, если в одном из полей БД в тексте будет использован знак ";", то произойдет сбой при передаче данных между источниками.
Думаю тут нужно предусмотреть подмену этого знака.
Re: Как загнать таблицу из SQLite в .CSV?
Да, вы правы на все 100%. Не очень удачный выбор сепаратора ...neoksi писал(а):Извиняюсь, но мой мой мозг автоматом зацепился за возможность слома алгоритма.
Гипотетически, если в одном из полей БД в тексте будет использован знак ";", то произойдет сбой при передаче данных между источниками.
Думаю тут нужно предусмотреть подмену этого знака.
Думаю что выбор сепаратора диктует экспортируемый текст.
Re: Как загнать таблицу из SQLite в .CSV?
Подскажите пожалуйста, как можно записать данные в CSV без использования библиотек?
Re: Как загнать таблицу из SQLite в .CSV?
Запиши данные в текстовый файл, в формате csv, а затем переименуй файл из txt в csv.razmus писал(а):Подскажите пожалуйста, как можно записать данные в CSV без использования библиотек?
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Как загнать таблицу из SQLite в .CSV?
trew писал(а): Запиши данные в текстовый файл, в формате csv, а затем переименуй файл из txt в csv.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Как загнать таблицу из SQLite в .CSV?
Спасибо, код для истории, может кому понадобится.
Код: Выделить всё
@SuppressLint("NewApi")
public void writeToFile(String data) {
final File DATABASE_DIRECTORY = new File(
Environment.getExternalStorageDirectory(), "ImportExport");
final File PATH = new File(DATABASE_DIRECTORY,"log.csv");
try (BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(PATH, true)))) {
bw.append(data+ "\r\n");
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}