为什么这个内存条外壳外壳写是金泰壳 但是鲁大师显示是三星

2015年7月 移动开发大版内专家分月排行榜第二2015年5月 移动开发大版内专家分月排行榜第二
2015年7月 扩充话题大版内专家分月排行榜第三2015年5月 扩充话题大版内专家分月排行榜第三
2014年6月 移动开发大版内专家分月排行榜第一2014年3月 移动开发大版内专家分月排行榜第一
2014年11月 移动开发大版内专家分月排行榜第二2014年4月 移动开发大版内专家分月排行榜第二2014年2月 移动开发大版内专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。如何把批量数据导入到android 的 sqlite 数据库(更新中) - 学人 - ITeye技术网站
Apr 17,2010
SQLite 数据库需要放在目录中的databases folder,我们可以使用“adb shell” 的 “mkdir”来创建这个文件夹。
#mkdir databases
默认创建的"databases"仅供 "root"权限访问,而在Android平台中,我们启动的每个“Activity”都是使用不同的“user”权限,所以我们需要用“chmod”命令来改变默认权限:
#chmod 777 databases
drwxrwxrwx
20:33 databases
drwxr-xr-x
有了存放数据库的文件夹,可以开始创建数据库。使用“sqlite3”来创建
#cd databases
#sqlite3 note.db
SQLite version 3.5.9
Enter ".help" for instructions
现在这个数据库还是空的,里面没有存储任何数据或记录。当执行“sqlite3”命令后,命令提示符从#换成“sqlite&”,表示进入“SQLite”互动模式,可以做添加,删除,修改,查询等动作。
我们可以输入一下命令来创建table。
sqlite& CREATE TABLE dictionary (word VARCHAR(30), pronounce VARCHAR(50), comment NVARCHAR(100));
注意,SQLite命令和java代码一样,大小写代表不同符号,而且以分号结尾。sqlite3与许多SQL数据库软件
不同的是,它不在乎字段属于哪一种资料型态:sqlite3的字段可以储存任何东西:文
字、数字、大量文字(blub),它会在适时自动转换。
输入以上命令后,可以用一下命令来验证是否创建成功,这命令作用是列出目录下所有SQLite的数据库列表:
sqlite&.databases
------------------------------------------------------------------------
/data/data/com.wenjie.android.dictionary/databases/dictionary.db
“.table” 用来列出所有tables。
sqlite&.table
dictionary
".schema"用来现实出创建数据表的命令。
sqlite&.schema
CREATE TABLE dictionary (word VARCHAR(30), pronounce VARCHAR(50), comment NVARCHAR(100));
若有多个数据表,也可以在".schema"后面输入特定的数据表当参数,如".schema dictionary",这样只会打印出对应的数据表创建命令。
Apr 18, 2010
1. 进入到F:\Android\android-sdk_r05-windows\android-sdk-windows\tools 以后,
2. 应该使用adb push命令将硬盘上的文件复制到android AVD 的某个应用程序的databases文件夹下,执行命令如下:
adb push F:\en.txt data/data/com.wenjie.android.dictionary/databases
=&758 KB/s(813441 bytes in 1.046s)
3. 在AVD是运行的状态下,按着以下步骤:
(1) 运行输入 adb shell
(2) 进入命令界面后 输入 ls 指令 会列出文件的目录 (3) cd 进入你想要的目录里 (4) 一层一层进去后会发现 databases目录 你的数据文件就在这个目录下放着 (5) sqlite3 test
(test就是你创建的数据库的名称 注意:不要加.db 后缀)
(6) 现在你就进入你创建的test数据库了使用
.tables 就可以查看所有的表了;
***************************************************************
adb shell #cd /data/data/&package_name&/databases
# find data -name "*.db" -print data/data/com.google.android.providers.contacts/databases/contacts.db data/data/com.google.android.providers.googleapps/databases/accounts.db data/data/com.google.android.providers.im/databases/im.db data/data/com.google.android.providers.media/databases/media.db data/data/com.google.android.providers.telephony/databases/mms.db data/data/com.google.android.providers.telephony/databases/sms.db data/data/com.google.android.providers.telephony/databases/telephony.db data/data/com.google.android.providers.settings/databases/settings.db data/data/com.google.android.maps/databases/maps.db data/data/com.wenjie.android.dictionary/dictionary.db
com.wenjie.android.dictionary
com.android.camera
com.android.browser
#cd com.wenjie.android.dictionary
cd com.wenjie.android.dictionary
databases (** 只有databases这个文件夹)
#cd databases
cd databases
dictionary.db (**只有dictionary.db文件)
#sqlite3 dictionary.db
SQLite version 3.5.0 Enter ".help" for instructions sqlite& .separator "|"
sqlite& .import en.txt dictionary
(**en.txt成功导入到dictionary.db)
其他sqlite的特别用法
1. 建立索引
如果资料表有相当多的资料,我们便会建立索引来加快速度。好比说:
create index film_title_index on film(title);
意思是针对film资料表的name字段,建立一个名叫film_name_index的索引。这个指
令的语法为
create index index_name on table_name(field_to_be_indexed);
一旦建立了索引,sqlite3会在针对该字段作查询时,自动使用该索引。这一切的操作
都是在幕后自动发生的,无须使用者特别指令。
2. sqlite可以在shell底下直接执行命令:
sqlite3 film.db "select *"
输出 HTML 表格:
sqlite3 -html film.db "select *"
将数据库「倒出来」:
sqlite3 film.db ".dump" & output.sql
利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库
备份了):
sqlite3 film.db & output.sql
在大量插入资料时,你可能会需要先打这个指令:
插入完资料后要记得打这个指令,资料才会写进数据库中:
Jun 26, 2010
利用空余的时间终于搞成了电子词典的部分功能。但是遇到以下问题: (1).当要利用插入功能插入新单词是爆出如下问题:
android.database.sqlite.SQLiteException: error code 8: attempt to write a readonly database
原因是没有给SQLite数据库文件所在文件夹对应用户的读写权限。#ls -l dictionary.db
-rw-r--r--
-09 14:32 dictionary.db
然后把权限改了就没有问题了。
#chmod 777 dictionary.db
chomod 777 dictionary.db
#ls -l dictionary.db
-rwxrwxrwx
-09 14:32 dictionary.db
浏览: 14537 次
来自: 广州Android实现SQLite添加、更新及删除行的方法
作者:与时俱进
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android实现SQLite添加、更新及删除行的方法,涉及Android基于SQLiteDatabase类操作SQLite数据库的基本技巧,需要的朋友可以参考下
本文实例讲述了Android实现SQLite添加、更新及删除行的方法。分享给大家供大家参考,具体如下:
SQLiteDatabase类暴露了特定的方法,如insert、delete和update等方法,这些方法包装了执行这些动作所需的SQL语句。尽管如此,execSQL方法允许你在数据库表上执行任何有效的SQL语句,而这些动作就是你想要手动执行的。
在任何时候,如果你修改了底层数据库的值,你都应该调用任一在当前表上浏览的Cursor的refreshQuery方法。
为了创建一个新行,构造一个ContentValues对象,并使用它的put方法来为每一列提供值。通过在目标数据库对象上调用insert方法,并将ContentValues对象传入方法中来插入一个新行——需要有表的名称——如下面的片段所示:
// Create a new row of values to insert.
ContentValues newValues = new ContentValues();
// Assign values for each row.
newValues.put(COLUMN_NAME, newValue);
[ ... Repeat for each column ... ]
// Insert the row into your table
myDatabase.insert(DATABASE_TABLE, null, newValues);
更新行也需要通过ContentValues来实现。
创建一个新的ContentValues对象,使用put方法来为每一个你想更新的列指定新的值。调用数据库对象的update方法,传入表名和更新的ContentValues对象,一个where语言来指明哪些行需要更新。
更新的处理在下面的片段中有演示:
// Define the updated row content.
ContentValues updatedValues = new ContentValues();
// Assign values for each row.
updatedValues.put(COLUMN_NAME, newValue);
[ ... Repeat for each column ... ]
String where = KEY_ID + "=" + rowId;
// Update the row with the specified index with the new values.
myDatabase.update(DATABASE_TABLE, updatedValues, where, null);
为了删除一行,你可以在数据库对象上简单调用delete方法,指定表名和一个where语句来指明那些行你想要删除,如下面的代码所示:
myDatabase.delete(DATABASE_TABLE, KEY_ID + "=" + rowId, null);
更多关于Android相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Android 如何对sqlite数据库进行增删改[insert、update和delete] 操作 -
- ITeye技术网站
博客分类:
在android开发中,我们常常用sqlite来存储用户信息,如何进行sqlite常规操作呢,请参阅下面的示例代码:
package com.db.
import android.content.ContentV
import android.content.C
import android.database.C
import android.database.sqlite.SQLiteD
import android.database.sqlite.SQLiteDatabase.CursorF
import android.database.sqlite.SQLiteOpenH
import android.util.L
public class DBHelper extends SQLiteOpenHelper {
final private static String mDbName="imgfornote" ;
final private static int mDbVersion=1 ;
private static DBHelper mInstance=
private final static String mTUserPhoto="UserPhoto" ;
final private static String mCreateSqlForNoteClass="create table if not exists NoteClass(classId integer primary key asc autoincrement,className NVARCHAR(100),rowTime timestamp default (datetime('now', 'localtime')))" ;
final private static String mCreateSqlForUserPhoto="create table if not exists UserPhoto(photoId integer primary key asc autoincrement,photoName VARCHAR(200),userPt VARCHAR(200),title VARCHAR(255),classId integer,content NVARCHAR(250),tag NVARCHAR(200),remark text,status integer default 0,rowTime timestamp default (datetime('now', 'localtime')))" ;
final private static String[] mInsertSqlForNoteClass={"insert into NoteClass(className) values('默认分类[私有]');" , "insert into NoteClass(className) values('读书笔记[私有]');" , "insert into NoteClass(className) values('电子资料[公开]');" };
private DBHelper(Context context, CursorFactory factory) {
super(context, mDbName, factory, mDbVersion);
public static DBHelper GetInstance(Context context, SQLiteDatabase.CursorFactory factory)
if(mInstance==null){
mInstance = new DBHelper(context,factory);
public void onCreate(SQLiteDatabase db) {
db.execSQL(mCreateSqlForNoteClass);
db.execSQL(mCreateSqlForUserPhoto);
//初始化数据
for(int i=0 ;i&mInsertSqlForNoteClass.i++)
db.execSQL(mInsertSqlForNoteClass[i]);
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
private Cursor ExecSQLForCursor(String sql, String[] selectionArgs){
SQLiteDatabase db =getWritableDatabase();
Log.i("ExecSQLForCursor" ,sql);
return db.rawQuery(sql, selectionArgs);
private void ExecSQL(String sql){
SQLiteDatabase db =getWritableDatabase();
ExecSQL(sql,db);
}catch(Exception e){
Log.e("ExecSQL Exception" ,e.getMessage());
e.printStackTrace();
private void ExecSQL(String sql,SQLiteDatabase db ){
db.execSQL(sql);
Log.i("ExecSQL" ,sql);
}catch(Exception e){
Log.e("ExecSQL Exception" ,e.getMessage());
e.printStackTrace();
//添加照片信息
public long InsertUserPhoto(String photoName,String title){
SQLiteDatabase db =getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("photoName" , photoName);
cv.put("title" , title);
return db.insert(mTUserPhoto, null, cv);
//查询照片信息
public Cursor SearchPhoto(int row,String sort){
Cursor cur =
String ord = (sort==null|| sort.toLowerCase().startsWith("a" ))? "asc" : "desc" ;
String sql = "select * from UserPhoto order by photoId " +
String[] args = {String.valueOf(row)};
if(row&0 ){
sql +=" limit ?" ;
cur = ExecSQLForCursor(sql,args);
}catch (Exception e) {
Log.e("SearchPhoto Exception" ,e.getMessage());
e.printStackTrace();
//修改照片信息
public int UpdateUserPhoto(int photoId,int classId,String title,String content, String tag){
SQLiteDatabase db =getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("classId" , classId);
cv.put("title" , title);
cv.put("content" , content);
cv.put("tag" , tag);
String[] args = {String.valueOf(photoId)};
return db.update(mTUserPhoto, cv, "photoId=?" ,args);
//删除照片信息
public int DeleteUserPhoto(int photoId){
SQLiteDatabase db =getWritableDatabase();
String[] args = {String.valueOf(photoId)};
return db.delete(mTUserPhoto, "photoId=?" , args);
主要用到的类:SQLiteOpenHelper、SQLiteDatabase及ContentValues
浏览 11804
浏览: 584866 次
所以这种情况是不使用launchMode为singleTask ...查看:3220|回复:3
助理工程师
我不能更新数据库,我连接了数据库,然后使用下面代码和函数尝试控制更新,但是失败了,怎么回事呢?
代码: - (BOOL) updatePoint:(NSString *) word {
& & NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
& & NSString *documentsDirectory = [paths objectAtIndex:0];
& & NSString *path = [documentsDirectory stringByAppendingPathComponent:@&master.sqlite&];
& & sqlite3_stmt *
& & if (sqlite3_open([path UTF8String], &database) == SQLITE_OK) {
& && &&&int newPoint = point + 1;
& && &&&NSString *sql = [NSString stringWithFormat:@&UPDATE %@ SET Point='%d' WHERE Parola=?&,
& && && && && && && && & dictionaries1[[[word substringWithRange:NSMakeRange(0,1)] intValue]-1],newPoint];
& && &&&if(sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, NULL)==SQLITE_OK)
& && && && &sqlite3_bind_text(statement,1,[word UTF8String] ,-1, SQLITE_TRANSIENT);
& && &&&sqlite3_step(statement);
& && &&&sqlite3_finalize(statement);
& && &&&//sqlite3_reset(statement);
& && &&&sqlite3_close(database);
& && &&&return YES;
& & } else
& && &&&return NO;
复制代码哪里出错了?
助理工程师
NSString *update =[NSString stringWithFormat:@&update xxx(表名) set systemtime = '%@\' WHERE serverId='%@\' &,system_time,Id];
试试数据库语句改成这样看看
助理工程师
ps 我这都是文本类型
助理工程师
尝试使用这段代码,可以较好地控制数据库: // COMMIT
&&const char *sql2 = &COMMIT TRANSACTION&;
&&sqlite3_stmt *commit_
&&if (sqlite3_prepare_v2(database, sql2, -1, &commit_statement, NULL) != SQLITE_OK) {
& & NSAssert1(0, @&Error Message: '%s'.&, sqlite3_errmsg(database));
&&success = sqlite3_step(commit_statement);
&&if (success != SQLITE_DONE) {
& & NSAssert1(0, @&Error Message: '%s'.&, sqlite3_errmsg(database));

我要回帖

更多关于 带外壳的内存条好吗 的文章

 

随机推荐