如何从一个SQLite数据库表中读取数据? [英] How to read data from a SQLite database table?

查看:571
本文介绍了如何从一个SQLite数据库表中读取数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据库表,我的目标是在每一个从数据表中的值来读取,然后将它们写入一个文本文件通过电子邮件发送。我应该如何去实现呢?

 公共无效FILEWRITE()
{
    光标remindersCursor = mDbHelper.fetchAllReminders();
    startManagingCursor(remindersCursor);    尝试
    {//捕获IOException异常下方
        的String [] =由新的String [] {} RemindersDbAdapter.KEY_TITLE;
        最后弦乐的TestString =新的String(RemindersDbAdapter.KEY_TITLE +);
        文件SD卡= Environment.getExternalStorageDirectory();
        myfile文件=新的文件(SD卡,测试);
        FileWriter的作家=新的FileWriter(MYFILE);
        writer.append(的TestString);
        writer.flush();
        writer.close();
        Toast.makeText(TaskReminderActivity.this,计划顺利通过了FILEWRITE!Toast.LENGTH_LONG).show();
    }赶上(例外五)
    {
          Toast.makeText(TaskReminderActivity.this,如果有问题的文件!,Toast.LENGTH_LONG).show();
          Log.e(FILEWRITE,如果有问题的文件!,E);
    }
}


解决方案

首读从你sqllite数据库:

 光标光标= db.rawQuery(SELECT * FROM+ tbl_name表+,NULL);
startManagingCursor(光标);
 而(cursor.moveToNext()){                    。的StringBuffer.append(cursor.getString(1))附加(;​​);          }
......

下一步写作卡上:

  {尝试
        myfile文件=新的文件(/ SD卡/ file.txt的);
        myFile.createNewFile();
        FileOutputStream中FOUT =新的FileOutputStream(MYFILE);
        OutputStreamWriter myOutWriter =
        新OutputStreamWriter(FOUT);
        myOutWriter.append(stringBuffer.toString());
        myOutWriter.close();
        fOut.close();
        Toast.makeText(getBaseContext(),
                写完SD'mysdfile.txt'
                Toast.LENGTH_SHORT).show();
    }赶上(例外五){
        Toast.makeText(getBaseContext(),e.​​getMessage(),
                Toast.LENGTH_SHORT).show();
    }

...

请确保您有权限在你的清单文件设置

 <使用许可权的android:NAME =android.permission.WRITE_EXTERNAL_STORAG​​E/>

I have a database table, my goal is to read in each of the values from the data table, then write them to a text file to be emailed. How should I go about accomplishing this?

public void FileWrite()
{
    Cursor remindersCursor = mDbHelper.fetchAllReminders();
    startManagingCursor(remindersCursor);

    try
    { // catches IOException below
        String[] from = new String[]{RemindersDbAdapter.KEY_TITLE};
        final String TESTSTRING = new String(RemindersDbAdapter.KEY_TITLE + "   ");
        File sdCard = Environment.getExternalStorageDirectory();
        File myFile = new File(sdCard, "test");
        FileWriter writer = new FileWriter(myFile);
        writer.append(TESTSTRING);
        writer.flush();
        writer.close();


        Toast.makeText(TaskReminderActivity.this, "Program Successfully went through  FileWrite!", Toast.LENGTH_LONG).show();
    } catch(Exception e)
    {
          Toast.makeText(TaskReminderActivity.this, "Had Problems with file!", Toast.LENGTH_LONG).show();
          Log.e("FileWrite", "Had Problems with file!", e);
    }
}

解决方案

First Reading from you sqllite Database :

Cursor  cursor = db.rawQuery("SELECT * FROM " +TBL_NAME+" " ,null);
startManagingCursor(cursor);
 while(cursor.moveToNext()){

                    stringBuffer.append(cursor.getString(1)).append(";");

          }
......

Next Writing on the card :

  try {
        File myFile = new File("/sdcard/file.txt");
        myFile.createNewFile();
        FileOutputStream fOut = new FileOutputStream(myFile);
        OutputStreamWriter myOutWriter = 
        new OutputStreamWriter(fOut);
        myOutWriter.append(stringBuffer.toString());
        myOutWriter.close();
        fOut.close();
        Toast.makeText(getBaseContext(),
                "Done writing SD 'mysdfile.txt'",
                Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        Toast.makeText(getBaseContext(), e.getMessage(),
                Toast.LENGTH_SHORT).show();
    }

....

Make sure you have permission set in your manifest file

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

这篇关于如何从一个SQLite数据库表中读取数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆