Nguyen  Minh Binh
Nguyen Minh Binh

Reputation: 24443

How can I execute a *.sql script on android programmatically?

How can I execute a *.sql script on android programmatically? The script is located at /assert folder. My phone is not rooted.

Upvotes: 3

Views: 2655

Answers (1)

Kanaiya Katarmal
Kanaiya Katarmal

Reputation: 6118

InputStream is = getResources().getAssets().open("SQLScript.sql");
String sql= convertStreamToString(is);

public static String convertStreamToString(InputStream is)
            throws IOException {
            Writer writer = new StringWriter();
        char[] buffer = new char[2048];
        try {
            Reader reader = new BufferedReader(new InputStreamReader(is,
                    "UTF-8"));
            int n;
            while ((n = reader.read(buffer)) != -1) {
                writer.write(buffer, 0, n);
            }
        } finally {
            is.close();
        }
        String text = writer.toString();
        return text;
}


SQLiteDatabase db;
db = openOrCreateDatabase("MyDatabase.db", SQLiteDatabase.CREATE_IF_NECESSARY, null );
db.execSQL(sql);

Upvotes: 6

Related Questions