Android 中SQlite数据中简单示例的表的创建、插入和查询
2013-04-10 22:54
555 查看
最近刚开始学习android,学习到SQLite的存储时,看着官方关于SQLite的使用的文档,硬是没看懂前面的FeedEntry和FeedReaderContract部分(如果那位看懂了,给小弟说一下,最好有源代码),自己结合官方剩下的部分实现了简单的表的创建、添加和查询。
1.
FeedReaerDbHelper继承SQliteOpenHelper类(系统提供帮助管理SQLite数据库的系统类),重写了构造函数和OnCreat函数。
publicclass FeedReaderDbHelper
extends SQLiteOpenHelper {
publicstaticfinalintDATABASE_VERSION=1;
publicstaticfinal String
DATABASE_NAME="person.db";
public FeedReaderDbHelper(Context context) {
super(context,
DATABASE_NAME,
null,
DATABASE_VERSION); //重写了FeedReaderDbhelper构造函数
//
TODO Auto-generated constructor stub
}
@Override
//第一次访问或者创建数据库的调用该方法
publicvoid onCreate(SQLiteDatabase db) {
//
TODO Auto-generated method stub
db.execSQL("CREATE TABLE person (_ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,AGE INTEGER )");
//创建了person表
// Log.w("onCreate", "Create database
sucessed!!");
}
@Override
publicvoid onUpgrade(SQLiteDatabase arg0,
int arg1,
int arg2) {
//
TODO Auto-generated method stub
//
}
}
2.
MainActivity中实现对SQLite数据库插入和查询;
1. publicclass MainActivity
extends Activity {
2. private EditText
nameEdit;
3. private EditText
ageEdit;
4. private Button
insertBtn;
5. private Button
queryBtn;
6. private TextView
queryList;
7. @Override
8. protectedvoid onCreate(Bundle savedInstanceState) {
9.
super.onCreate(savedInstanceState);
10.
setContentView(R.layout.activity_main);
11.
setView(); //类和控件的绑定
12. setListener();//设置button控件的监控函数
13. }
14. privatevoid setView()
15. {
16.
nameEdit=(EditText)findViewById(R.id.name);
17.
ageEdit=(EditText)findViewById(R.id.age);
18.
queryList=(TextView)findViewById(R.id.queryList);
19.
insertBtn=(Button)findViewById(R.id.insert);
20.
queryBtn=(Button)findViewById(R.id.query);
21. }
22.
23. privatevoid setListener()
24. {
25.
insertBtn.setOnClickListener(new OnClickListener() {
26.
27.
@Override
28.
publicvoid onClick(View v) {
29.
queryList.setText("");
30.
// TODO Auto-generated method stub
31.
FeedReaderDbHelper mBbHelper=new FeedReaderDbHelper(MainActivity.this);
32. //创建一个FeedReaderDbhelper对象,向其传入当前上下文信息;
33.
SQLiteDatabase db=mBbHelper.getWritableDatabase();
34. //以写方式获得SQLiteDatabase数据库对象
35.
ContentValues cv=new ContentValues();
36. //ContentValues类似一种储存机制
37.
cv.put("name",
nameEdit.getText().toString());
38.
cv.put("age", Integer.parseInt(ageEdit.getText().toString()));
39.
db.insert("person",
null, cv); //向数据库中插入数据
40.
// Log.w("insert", "name"+nameEdit.getText().toString()+" age"+ageEdit.getText().toString());
41.
db.close();
42. nameEdit.setText("");
43. ageEdit.setText("");
44.
}
45.
});
46. queryBtn.setOnClickListener(new OnClickListener()
{
47.
48.
@Override
49.
publicvoid onClick(View v) {
50.
// TODO Auto-generated method stub
51.
queryList.setText("");
52.
FeedReaderDbHelper mbDbHelper=new FeedReaderDbHelper(MainActivity.this);
53.
SQLiteDatabase db=mbDbHelper.getReadableDatabase();
54.
//Log.w("db", "Create!!");
55.
Cursor cursor=db.rawQuery("SELECT * FROM person WHERE name=? and age=?",
new String[]{nameEdit.getText().toString(),ageEdit.getText().toString()});
//SQLite的SQL查询语句,查询数据库中数据与当前的nameEdit和AgeEdit值相等的数据项
56.
//Log.w("Select", "select has finished!!");
57.
if(cursor.moveToNext())
58.
{
59.
queryList.setText("Query exits!!");
//如果在数据库中select成功,游标执行moveToNext函数,cursor指向符合条件的第一条数据项,返回值为true,否则false;
60.
}
61.
else {
62.
queryList.setText("Query doesn't exited!!");
63.
}
64.
}
65.
});
66.
67. }
68.
69. @Override
70. publicboolean onCreateOptionsMenu(Menu menu) {
71.
// Inflate the menu; this adds items to the action bar if it is present.
72.
getMenuInflater().inflate(R.menu.main, menu);
73.
returntrue;
74. }
}
3.
存在的问题:
在进行Relativelayout排版时出现,在XML中把对应的insertButton和queryButton的位时,其他不变,点击insertButton按钮确实现queryButton的功能,自己觉得和R.java中有关,具体原因不知道,希望各位各种拍砖,自己是初学者,有什么错误,望各位指出和交流。
4.代码:http://download.csdn.net/detail/fishintheair/5244395
1.
FeedReaerDbHelper继承SQliteOpenHelper类(系统提供帮助管理SQLite数据库的系统类),重写了构造函数和OnCreat函数。
publicclass FeedReaderDbHelper
extends SQLiteOpenHelper {
publicstaticfinalintDATABASE_VERSION=1;
publicstaticfinal String
DATABASE_NAME="person.db";
public FeedReaderDbHelper(Context context) {
super(context,
DATABASE_NAME,
null,
DATABASE_VERSION); //重写了FeedReaderDbhelper构造函数
//
TODO Auto-generated constructor stub
}
@Override
//第一次访问或者创建数据库的调用该方法
publicvoid onCreate(SQLiteDatabase db) {
//
TODO Auto-generated method stub
db.execSQL("CREATE TABLE person (_ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,AGE INTEGER )");
//创建了person表
// Log.w("onCreate", "Create database
sucessed!!");
}
@Override
publicvoid onUpgrade(SQLiteDatabase arg0,
int arg1,
int arg2) {
//
TODO Auto-generated method stub
//
}
}
2.
MainActivity中实现对SQLite数据库插入和查询;
1. publicclass MainActivity
extends Activity {
2. private EditText
nameEdit;
3. private EditText
ageEdit;
4. private Button
insertBtn;
5. private Button
queryBtn;
6. private TextView
queryList;
7. @Override
8. protectedvoid onCreate(Bundle savedInstanceState) {
9.
super.onCreate(savedInstanceState);
10.
setContentView(R.layout.activity_main);
11.
setView(); //类和控件的绑定
12. setListener();//设置button控件的监控函数
13. }
14. privatevoid setView()
15. {
16.
nameEdit=(EditText)findViewById(R.id.name);
17.
ageEdit=(EditText)findViewById(R.id.age);
18.
queryList=(TextView)findViewById(R.id.queryList);
19.
insertBtn=(Button)findViewById(R.id.insert);
20.
queryBtn=(Button)findViewById(R.id.query);
21. }
22.
23. privatevoid setListener()
24. {
25.
insertBtn.setOnClickListener(new OnClickListener() {
26.
27.
@Override
28.
publicvoid onClick(View v) {
29.
queryList.setText("");
30.
// TODO Auto-generated method stub
31.
FeedReaderDbHelper mBbHelper=new FeedReaderDbHelper(MainActivity.this);
32. //创建一个FeedReaderDbhelper对象,向其传入当前上下文信息;
33.
SQLiteDatabase db=mBbHelper.getWritableDatabase();
34. //以写方式获得SQLiteDatabase数据库对象
35.
ContentValues cv=new ContentValues();
36. //ContentValues类似一种储存机制
37.
cv.put("name",
nameEdit.getText().toString());
38.
cv.put("age", Integer.parseInt(ageEdit.getText().toString()));
39.
db.insert("person",
null, cv); //向数据库中插入数据
40.
// Log.w("insert", "name"+nameEdit.getText().toString()+" age"+ageEdit.getText().toString());
41.
db.close();
42. nameEdit.setText("");
43. ageEdit.setText("");
44.
}
45.
});
46. queryBtn.setOnClickListener(new OnClickListener()
{
47.
48.
@Override
49.
publicvoid onClick(View v) {
50.
// TODO Auto-generated method stub
51.
queryList.setText("");
52.
FeedReaderDbHelper mbDbHelper=new FeedReaderDbHelper(MainActivity.this);
53.
SQLiteDatabase db=mbDbHelper.getReadableDatabase();
54.
//Log.w("db", "Create!!");
55.
Cursor cursor=db.rawQuery("SELECT * FROM person WHERE name=? and age=?",
new String[]{nameEdit.getText().toString(),ageEdit.getText().toString()});
//SQLite的SQL查询语句,查询数据库中数据与当前的nameEdit和AgeEdit值相等的数据项
56.
//Log.w("Select", "select has finished!!");
57.
if(cursor.moveToNext())
58.
{
59.
queryList.setText("Query exits!!");
//如果在数据库中select成功,游标执行moveToNext函数,cursor指向符合条件的第一条数据项,返回值为true,否则false;
60.
}
61.
else {
62.
queryList.setText("Query doesn't exited!!");
63.
}
64.
}
65.
});
66.
67. }
68.
69. @Override
70. publicboolean onCreateOptionsMenu(Menu menu) {
71.
// Inflate the menu; this adds items to the action bar if it is present.
72.
getMenuInflater().inflate(R.menu.main, menu);
73.
returntrue;
74. }
}
3.
存在的问题:
在进行Relativelayout排版时出现,在XML中把对应的insertButton和queryButton的位时,其他不变,点击insertButton按钮确实现queryButton的功能,自己觉得和R.java中有关,具体原因不知道,希望各位各种拍砖,自己是初学者,有什么错误,望各位指出和交流。
4.代码:http://download.csdn.net/detail/fishintheair/5244395
相关文章推荐
- android创建数据库(SQLite)保存图片示例ZZ 分类: Android数据存储 2015-03-22 09:58 41人阅读 评论(0) 收藏
- android中常用的查询、插入、更新、删除等SQL语句以及SQLite数据类型
- 使用SQLiteHelper创建数据库并插入数据 分类: H1_ANDROID 2013-11-05 22:44 1398人阅读 评论(0) 收藏
- 嵌入式 sqlite3数据库创建、插入、更新、查询、删除、多线程等C编程示例以及多并发完成
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- iOS学习之sqlite的创建数据库,表,插入查看数据
- android中的sqlite查询数据去掉重复值
- Android开发—数据库应用—手动创建(SQLite)数据库--手动创建数据表(table)
- IOS学习之sqlite的创建数据库,表,插入查看数据
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android-数据库Sqlite的创建,查询及在ListView显示
- Android简单的SQLite操作及ListView展示数据
- Android SQLite数据库存储之查询数据
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android批量插入数据到SQLite数据…
- iOS学习之sqlite的创建数据库,表,插入查看数据
- android中创建数据库与完成数据添删改查(SQLite)
- python数据库sqlite基础(一)-------数据库创建,表的建立,数据录入,数据查询
- Android DB类,支持MDB,SQLITE,SQLSERVER,支持查询、事务,对象直接插入和更新操作等
- android简单的数据库使用查询操作示例