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

Reply via email to