问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在cocos2dx中怎么使用sqlite来纪录数据

发布网友 发布时间:2022-04-07 18:22

我来回答

2个回答

懂视网 时间:2022-04-07 22:44

package com.example.sqlitedemo; 2 3 import android.app.Activity; 4 import android.database.Cursor; 5 import android.database.sqlite.SQLiteDatabase; 6 import android.os.Bundle; 7 import android.util.Log; 8 import android.view.Menu; 9 import android.view.MenuItem; 10 import android.view.View; 11 12 public class MainActivity extends Activity { 13 SQLiteDatabase db = null; 14 public static String TAG = "sqlitedemo"; 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19 20 db = SQLiteDatabase.openOrCreateDatabase(getFilesDir()+"/userinfo.db", null); 21 22 createTable(db); 23 } 24 public void insert(View v){ 25 insert(db); 26 } 27 public void delete(View v){ 28 delete(db); 29 } 30 public void update(View v){ 31 update(db); 32 } 33 public void query(View v){ 34 query(db); 35 } 36 37 private void update(SQLiteDatabase db){ 38 String update = "update user set password=? where id = ?"; 39 Object[] args = {"99999999", 5}; 40 db.execSQL(update, args); 41 } 42 43 private void delete(SQLiteDatabase db){ 44 String delete = "delete from user where id =?"; 45 Object[] args = {5}; 46 db.execSQL(delete, args); 47 } 48 49 private void query(SQLiteDatabase db){ 50 String query = "select * from user"; 51 Cursor resultSet = db.rawQuery(query, null); 52 53 int row = resultSet.getCount(); 54 Log.i(TAG, row+""); 55 56 while(resultSet.moveToNext()){ 57 int id = resultSet.getInt(0); 58 String username = resultSet.getString(1); 59 String password = resultSet.getString(2); 60 Log.i(TAG, id + "," +username+ "," + password); 61 62 } 63 64 } 65 private void insert(SQLiteDatabase db){ 66 String insert = "insert into user values(?,?,?)"; 67 Object[] args = {5, "user5", "55555555"}; 68 db.execSQL(insert, args); 69 } 70 71 private void createTable(SQLiteDatabase db){ 72 String createtable = "create table user(id int, name varchar(20),password char(8))"; 73 db.execSQL(createtable); 74 } 75 76 77 } MainActivity.java

 

技术分享
 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2  xmlns:tools="http://schemas.android.com/tools"
 3  android:layout_width="match_parent"
 4  android:layout_height="match_parent"
 5  android:orientation="vertical"
 6  android:paddingBottom="@dimen/activity_vertical_margin"
 7  android:paddingLeft="@dimen/activity_horizontal_margin"
 8  android:paddingRight="@dimen/activity_horizontal_margin"
 9  android:paddingTop="@dimen/activity_vertical_margin"
10  tools:context="com.example.sqlitedemo.MainActivity" >
11 
12 <TextView
13  android:layout_width="wrap_content"
14  android:layout_height="wrap_content"
15  android:text="@string/hello_world" />
16 
17 <Button
18  android:layout_width="fill_parent"
19  android:layout_height="wrap_content"
20  android:onClick="insert"
21  android:text="insert" />
22 
23 <Button
24  android:layout_width="fill_parent"
25  android:layout_height="wrap_content"
26  android:onClick="delete"
27  android:text="delete" />
28 
29 <Button
30  android:layout_width="fill_parent"
31  android:layout_height="wrap_content"
32  android:onClick="update"
33  android:text="update" />
34 
35 <Button
36  android:layout_width="fill_parent"
37  android:layout_height="wrap_content"
38  android:onClick="query"
39  android:text="query" />
40 
41 </LinearLayout>
activity_main.xml

 

增删改查界面:

技术分享

006_01SQLite_demo

标签:

热心网友 时间:2022-04-07 19:52

  1)下载sqlite源代码,并解压到工程中[这步不需要了,cocos2dx中已经加入了sqlite,只需引用头文件sqlite3.h就可以了]:

  减压到工程中(shell.c不需要),在xcode中如下:

  2) 打开数据库:
  先用sqlite工具创建一个数据库,叫test.db;(工具可以使用sqlite提供的命令行工具;在sqlite下载页面中的Precompiled Binaries );
  把test.db拷贝到Resource文件夹下,并加入工程,如下图:

  然后调用如下代码,打开数据库:

  [cpp] view plaincopy
  std::string filename = CCFileUtils::sharedFileUtils()->fullPathForFilename("test.db");
  result = sqlite3_open(filename.c_str(), &pDB);
  CCLog(filename.c_str());
  if( result != SQLITE_OK )
  CCLog( "打开数据库失败,错误码:%d ,错误原因:%s\n" , result, errMsg );
  else
  CCLog("成功地打开了数据库");

3)创建表和插入数据:

  [html] view plaincopy
  //创建表,设置ID为主键,且自动增加
  result=sqlite3_exec( pDB, "create table MyTable_1( ID integer primary key autoincrement, name nvarchar(32) ) " , NULL, NULL, &errMsg );
  if( result != SQLITE_OK )
  CCLog( "创建表失败,错误码:%d ,错误原因:%s\n" , result, errMsg );
  
  //插入数据
  sqlstr=" insert into MyTable_1( name ) values ( '克塞' ) ";
  result = sqlite3_exec( pDB, sqlstr.c_str() , NULL, NULL, &errMsg );
  if(result != SQLITE_OK )
  CCLog( "插入记录失败,错误码:%d ,错误原因:%s\n" , result, errMsg );
  
  //插入数据
  sqlstr=" insert into MyTable_1( name ) values ( '葫芦娃' ) ";
  result = sqlite3_exec( pDB, sqlstr.c_str() , NULL, NULL, &errMsg );
  if(result != SQLITE_OK )
  CCLog( "插入记录失败,错误码:%d ,错误原因:%s\n" , result, errMsg );
  
  //插入数据
  sqlstr=" insert into MyTable_1( name ) values ( '擎天柱' ) ";
  result = sqlite3_exec( pDB, sqlstr.c_str() , NULL, NULL, &errMsg );
  if(result != SQLITE_OK )
  CCLog( "插入记录失败,错误码:%d ,错误原因:%s\n" , result, errMsg );

4)查询

  对数据库进行查询,有两种方式:1)sqlite3_prepare_v2 + sqlite3_step + sqlite3_column_text + sqlite3_finalize; 2) sqlite3_exec;
  
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 银行在节假日上班吗? 劳动节银行上班吗 2020年是鼠年了,在古代是叫什么年? “庚子”指的是哪一年? 每个鼠年都叫庚子年吗 曾戈的曾戈的创业之道 陈列共和欧阳中铁的创业成功之道来于哪些方面? 如何学习朱元璋的创业之道? 可以用糯米粉和面粉一起和面 做成南瓜饼吗? 今年是鼠年?鼠年是几年? 1万块,谁给指条创业之道 鼠年是庚子年吗? 每个鼠年都叫庚子年吗? 创业之道求解 求如何创业之道? 庚子鼠年是什么意思? 有什么创业之道。 何为创业之道 创业成才之道 各位朋友,我在广州南站换乘高铁只有20分钟够吗,以买好票了,从南广转广深,应该怎么走 网络教育需要去学校吗 报考网络教育学校需要注意哪些问题 什么手机能遥控电视,智能手机都能吗? 闲鱼可以加微信好友吗 组成集团后能不能上市 大型集团公司上市对子公司有什么好处? 几个公司可以组建集团公司上市吗? 请问,一个集团公司在已经有一家上市公司的情况下,集团旗下的另一家控股公司能否再上市?有何条件要求? 同一集团控股的两家公司可以分别上市吗? 请问一家集团公司如果要上市,是整个集团公司都上市吗?还是让集团公司旗下的一个子公司上市? 集团的上市公司如果退被退市,那么集团的其他业务板块还可以在A股再上市吗? 新时代健康产业集团有限公司每股3800元会上市吗 集团公司上市必须母公司和子公司都是股份公司吗? 什么叫集团 一个集团由几个上市公司组成 月亮水瓶座是什么样的? 太迷人了,月亮水瓶女的致命吸引力,你了解吗? 玉米爆的爆米花吃了发胖吗 月亮落在水瓶座;在命盘的第1宫 请问月亮水瓶的人感情会很冷淡吗?如果他的月亮跟海王半合呢?还跟土星水星相刑了,会是一种怎样的内心呢 这个要怎么扫?