Sqlite implements data typing somewhat differently from "big" sql databases, you can find the details on their site.
For a boolean, you typically use: cursor.getInt(column) != 0 20.02.2012 20:20 пользователь "Jeresam515" <[email protected]> написал: > I created a database with the following variables: > public static final String KEY_VALUE = "x"; > public static final String KEY_ISROOT = "y"; > public static final String KEY_ROWID = "_id"; > public static final String KEY_REALROWID = "_ids"; > public static final String KEY_ISPOWER = "z"; > public static final String KEY_POWERORROOTNUMBER = "b"; > public static final String KEY_ISDIVISOR = "a"; > public static final String KEY_ISMULTIPLIER = "c"; > public static final String KEY_ISADD = "d"; > public static final String KEY_ISSUBTRACT = "e"; > public static final String KEY_ISPS = "f"; > public static final String KEY_ISPE = "g"; > private static final String TAG = "NotesDbAdapter"; > private DatabaseHelper mDbHelper; > private SQLiteDatabase mDb; > private static final String DATABASE_NAME = "data"; > private static final String DATABASE_TABLE = "notes"; > private static final int DATABASE_VERSION =1; > private static final String DATABASE_CREATE = > " create table " +DATABASE_TABLE+ " (" > +KEY_VALUE+ " double, " > +KEY_REALROWID+ " integer, " > +KEY_ROWID+ " integer primary key autoincrement, " > +KEY_ISPOWER+ " boolean, " > +KEY_ISDIVISOR+ " boolean, " > +KEY_ISMULTIPLIER+ " boolean, " > +KEY_ISADD+ " boolean, " > +KEY_ISSUBTRACT+ " boolean, " > +KEY_ISPS+ " boolean, " > +KEY_ISPE+ " boolean, " > +KEY_POWERORROOTNUMBER+ " double, " > +KEY_ISROOT+ " boolean);"; > The insert row ID code is: > public void createNote(double value, boolean isroot, boolean ispower, > boolean ismultiply, boolean isdivisor, boolean add, > boolean issubtract, double roototpowerval, boolean > paranthaseesend, boolean paranthaseesstart) { > ContentValues initialValues = new ContentValues(); > initialValues.put(KEY_VALUE, value); > initialValues.put(KEY_ISROOT, isroot); > initialValues.put(KEY_ISPOWER, ispower); > initialValues.put(KEY_ISMULTIPLIER, ismultiply); > initialValues.put(KEY_ISDIVISOR, isdivisor); > initialValues.put(KEY_ISADD, add); > initialValues.put(KEY_ISSUBTRACT, issubtract); > initialValues.put(KEY_POWERORROOTNUMBER, roototpowerval); > initialValues.put(KEY_ISPE, paranthaseesend); > initialValues.put(KEY_ISPS, paranthaseesstart); > long r= mDb.insert(DATABASE_TABLE, null, initialValues); > int a = testCount(); > ContentValues argsa = new ContentValues(); > argsa.put(KEY_VALUE, value); > argsa.put(KEY_ISROOT, isroot); > argsa.put(KEY_ISPOWER, ispower); > argsa.put(KEY_ISMULTIPLIER, ismultiply); > argsa.put(KEY_ISDIVISOR, isdivisor); > argsa.put(KEY_ISADD, add); > argsa.put(KEY_ISSUBTRACT, issubtract); > argsa.put(KEY_POWERORROOTNUMBER, roototpowerval); > argsa.put(KEY_REALROWID, a); > argsa.put(KEY_ISPE, paranthaseesend); > argsa.put(KEY_ISPS, paranthaseesstart); > mDb.update(DATABASE_TABLE, argsa, KEY_ROWID + "=" + r, null); > } > The fetchRow code is: > public Cursor fetchNote(long rowId) throws SQLException { > Cursor mCursor = > mDb.query(true, DATABASE_TABLE, new String[] > {KEY_ISPS,KEY_ISPE,KEY_VALUE,KEY_ISROOT,KEY_REALROWID,KEY_ISPOWER,KEY_POWER > ORROOTNUMBER,KEY_ISDIVISOR,KEY_ISMULTIPLIER,KEY_ISADD,KEY_ISSUBTRACT}, > KEY_REALROWID + "=" + rowId, null, > null, null, null, null); > if (mCursor != null) { > mCursor.moveToFirst(); > } > return mCursor; > } > It can change views here: > public void onClick(View v) { > double d = 3; > mDbHelper.deleteAllNotes(); > mDbHelper.createNote(d, false, false, false, > false, false, > false, 0, false, false); > mDbHelper.createNote(0, false, false, > true,false, false, > false, 0, false, false); > Cursor c = mDbHelper.fetchNote(1); > if(d==Double.valueOf(c.getString(c.getColumnIndexOrThrow(NotesDbAdapter.KEY > _VALUE)))) > {setContentView(R.layout.works);} > } > However, It doesn't here: > public void onClick(View v) { > double d = 3; > mDbHelper.deleteAllNotes(); > mDbHelper.createNote(d, false, false, false, > false, false, > false, 0, false, false); > mDbHelper.createNote(0, false, false, > true,false, false, > false, 0, false, false); > Cursor c = mDbHelper.fetchNote(2); > if(Boolean.parseBoolean(c.getString(c.getColumnIndexOrThrow(NotesDbAdapter. > KEY_ISMULTIPLIER)))) > {setContentView(R.layout.awesome);} > } > How should I make an SQL database correctly send/receive booleans? > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

