Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的数据库更新_Android_Database - Fatal编程技术网

android中的数据库更新

android中的数据库更新,android,database,Android,Database,在我的应用程序中,我有一个数据库,其中有两个表。我有以下两个查询: 1.是否可以使用一些默认值创建数据库?? 2.我有一个屏幕,其中我有5个编辑框,1个保存按钮。当用户按下保存按钮时,数据库中的5个编辑框值应该更新(替换旧的) 请帮帮我 这用于创建数据库: private static final String DATABASE_SPIN= "create table spinner(_id integer primary key autoincrement,"+" spin text not

在我的应用程序中,我有一个数据库,其中有两个表。我有以下两个查询:

1.是否可以使用一些默认值创建数据库?? 2.我有一个屏幕,其中我有5个编辑框,1个保存按钮。当用户按下保存按钮时,数据库中的5个编辑框值应该更新(替换旧的)

请帮帮我

这用于创建数据库:

private static final String DATABASE_SPIN=
"create table spinner(_id integer primary key autoincrement,"+" spin text not null);";
这是exesql:

public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_SPIN);
}
我的代码是:

Cursor c=db.getAllTitlesSpin();
           startManagingCursor(c);
           int spinColumnIndex = c.getColumnIndexOrThrow("spin"); 

//          String group[]=getResources().getStringArray(R.array.group_array);

            ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
                    this, android.R.layout.simple_spinner_item);
            adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            s2.setAdapter(adapter1);    

            if (c.moveToFirst()) { 
                do { 
                    adapter1.add(c.getString(spinColumnIndex)); 
                } 
                while (c.moveToNext()); 
                if (db != null) { 
                db.close(); 
            } 
            }
Cursor c=db.getAllTitlesSpin();
开始管理光标(c);
int spinColumnIndex=c.getColumnIndexOrThrow(“spin”);
//字符串组[]=getResources().getStringArray(R.array.group_数组);
ArrayAdapter适配器1=新的ArrayAdapter(
这是android.R.layout.simple\u spinner\u item);
adapter1.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
s2.设置适配器(适配器1);
如果(c.moveToFirst()){
做{
adapter1.add(c.getString(spinColumnIndex));
} 
而(c.moveToNext());
如果(db!=null){
db.close();
} 
}
  • 可以在列中创建具有默认值的表
每次通过INSERT语句将行插入表时 不为表中的所有列提供显式值 存储在新行中的数据由其默认值确定,如下所示 如下:

如果列的默认值为常量NULL、text、blob或 带符号的数字值,则该值直接用于新行

如果列的默认值是括号中的表达式, 然后,对于插入的每一行和 在新行中使用的结果

如果列的默认值为当前时间、当前日期或 当前时间戳,则新行中使用的值为文本 当前UTC日期和/或时间的表示形式。就目前而言, 值的格式为“HH:MM:SS”。对于当前日期,“YYYY-MM-DD”。 当前时间戳的格式为“YYYY-MM-DD HH:MM:SS”

  • 您可以使用
    Select
    query()的输出创建和填充表
  • 您可以复制一个表的内容并使用它填充另一个表,只要表的结构相同<代码>插入目的地,从源选择*
  • 如果使用SQLiteOpenHelper创建数据库,请使用onCreate方法创建数据库,然后使用另一个db.execSQL()调用输入要存储在那里的默认值
  • 您可以像在任何其他数据库中一样更新sqlitedb中的值-使用_id字段标识要更新的行

  • 如果你只存储了5个值,这是一个更好的方法。

    谢谢Aswin Kumar..我已经创建了表..你能详细解释一下如何在db.exesql()中添加默认值吗..我编辑了我的文章..请看..如果“默认值”是指预填充数据库,那么使用这个:ContentValues cv=new ContentValues();cv.put(“旋转”、“新值”);db.插入(“表格名称”,空,cv);如果您想在未明确指定任何内容时使用值,请使用:“创建表微调器(_idinteger主键自动递增,“+”spin text not null default“default_value\”);“请参阅在create table或alter table中将
    default“any_value”
    附加到列定义中,您已经非常清楚了。当用户第一次进入主屏幕时,您可以使用
    createtable。。。选择
    ,或使用INSERT into Destination SELECT*from Source将数据从数据库复制到新表中。使用新表填充您的UI。当用户第一次输入时,数据库肯定是空的。因此,我必须使用插入查询权限将这5个默认值插入表中。因此,我可以使用这5个核心值…这是我为该查询所要求的。我可以通过公共长insertSpinTitle()插入1个值。{ContentValues initialValues=新ContentValues();initialValues.put(KEY_SPIN,“househouse”);返回db.insert(DATABASE_tablepin,null,initialValues);}。我如何插入其他4个值?????简单的insert语句如何?在构造函数中执行它,或者在创建时执行它的第一件事。我是否必须放置5个insert语句来插入5行值??