Note that there are some explanatory texts on larger screens.

plurals
  1. POUnable to insert data in Sqlite Database android
    primarykey
    data
    text
    <p>Following code is used to insert data in the database.</p> <p>When application is launched, following code is executed. </p> <p>After <code>RecentDBManager</code> is executed, when I <code>PULL</code> database from emulator memory, it shows no record in <code>FavoriteScrip</code> table.</p> <p>When I logged <code>InsertStmt</code> in <code>setData</code> method, it works fine. It shows</p> <p><code>insert into FavoriteScrip(sym,cmp,chg) values ('value1','value2','value3')</code></p> <p><strong>but it is not getting inserted in table...</strong></p> <p><strong>In main class</strong></p> <pre><code> rdbM = new RecentDBManager(CompanyView.this); try { if (!rdbM.checkDataBase()) { rdbM.createDataBase(); } rdbM.openDB(); rdbM.setData("value1"); rdbM.closeDB(); } catch (Exception e) { throw new Error("ERROR in DB Access"+ e.toString()); } </code></pre> <p><strong>RecentDBManager class</strong></p> <pre><code> public class RecentDBManager { private DatabaseHelper dataHelper; private SQLiteDatabase mDb; private Context ctx; private String DATABASE_PATH = "/data/data/com.mypackage/databases/"; private static String DATABASE_NAME = "ScripMasterDB"; private static String TABLE_NAME = "FavoriteScrip"; private String InsertStmt; private static final int DATABASE_VERSION = 1; private Cursor cur; RecentDBManager(Context ctx) { this.ctx = ctx; dataHelper = new DatabaseHelper(ctx); } private static class DatabaseHelper extends SQLiteOpenHelper { Context myContext = null; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); this.myContext = context; } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w("DBHelper", "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); onCreate(db); } } public boolean checkDataBase() { String myPath = DATABASE_PATH + DATABASE_NAME; File f = new File(myPath); return f.exists(); } public void createDataBase() { openDB(); try { OutputStream myOutput = new FileOutputStream(DATABASE_PATH+ DATABASE_NAME); if (mDb.isOpen()) mDb.close(); myOutput.flush(); myOutput.close(); } catch (Exception e) { throw new Error("RecentDbManager Exception - " + e.getMessage()); } } public RecentDBManager openDB() throws SQLException { mDb = dataHelper.getWritableDatabase(); return this; } public void setData(String value1, String value2, String value3) { ContentValues cv = new ContentValues(); cv.put("sym", value1); cv.put("dt_tm", "datetime()"); mDb.insert(TABLE_NAME, null, cv); } catch (SQLiteException e) { throw new Error("RecentDbManager Exception in inserting data" + e.getMessage()); } } public void closeDB() { try { mDb.close(); } catch (Exception e) { e.printStackTrace(); } } } </code></pre> <h2>EDIT</h2> <p>I have one column which contains current datetime.</p> <p>So query is of the form <code>"insert into " + TABLE_NAME+ " (sym,dt_tm) values ('" + value1 + "',datetime())"</code></p> <p>I tried</p> <pre><code> ContentValues cv = new ContentValues(); cv.put("sym", value1); cv.put("dt_tm", "datetime()"); mDb.insert(TABLE_NAME, null, cv); </code></pre> <p><strong><code>value1</code> column is getting inserted into table but not datetime. What can be the problem?</strong></p> <h2>Final edit</h2> <p>DONE... I used following :</p> <pre><code> Calendar date1 = Calendar.getInstance(); SimpleDateFormat dateformatter = new SimpleDateFormat( "dd/MM/yyyy HH:mm:ss"); String currentdate = dateformatter.format(date1 .getTime()); </code></pre> <p>and passed <code>currentdate</code> as second parameter.</p> <p>THNX ALL !!!!</p> <p><strong>ANY HELP WILL BE LIFE-SAVER !!!</strong></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload