2-1.SQLite数据库

1.用SQLiteDatabase类创建数据库
方法①openDatabase生成一般数据库文件
SQLiteDatabase database=openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags);
/(数据库文件的路径,用于生成一个游标对象 供查询数据库时使用,控制数据的可访问模式--flag=0,可读可写;flag=1,只可读不可写)
方法②openOrCreateDatabase生成一般数据库文件
SQLiteDatabase database=openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory);
/(数据库文件的路径,用于生成一个游标对象 供查询数据库时使用)
方法③openOrCreateDatabase生成File数据库文件
SQLiteDatabase database=openOrCreateDatabase(File file,SQLiteDatabase.CursorFactory factory);
/(生成File数据库文件,用于生成一个游标对象 供查询数据库时使用)
2.用SQLiteOpenHelper类创建数据库
①第一个类DatabaseHelper
public class DatabaseHelper extends SQLiteOpenHelper
{
public DatabaseHelper(Context context,String name,Cursorfactory factory,int version){
super(context,name,factory,version);
}
public void onCreate(SQLiteDatabase arg0){
System.out.println("数据库创建");
}
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
System.out.println("数据库更新");
}
}
②在另一个类SQLiteActivity中调用上一个类的构造方法,创建数据库
DatabaseHelper dHelper=new DatabaseHelper(SQLiteActivity.this,//上下文环境
                                            "one.db",//数据库名称
											null,//使用默认的cursorfactory
											1);//数据库版本
SQLiteDatabase db=dHelper.getReaderableDatabase();/getWriteableDatabase();//创建只读/可写数据库

}}
发现:SQLiteOpenHelper不是单独完场数据库创建的,而是在最后一步需要SQLiteDatabase的帮助。
3.在数据库中创建表t_count(1)
public void createTable(){
//判断t_count是否存在
if(!tableExist("t_count")){
	mDatabaseOperator.execSQL(ConstExt.SQL_REATE_TABLE_COUNT_LIST);
}

<!--其中tableExist方法-->
public boolean tableExists(String table){
	//从表中sqlite_master中查询指定的表
	SqliteCursor cursor=mDatabaseOperator.query(
	"select type from sqlite_master where type='table' and name='?'",new String[]{table});
	
	//如果表存在
	if(cursor.moveToNext){
		return true;
	}else{
		return false;
	}
}

4.//创建数据表(我的程序中截取的部分,可能有错误!)
        public void onCreate(SQLiteDatabase db,TheDevices s){
        	//定义数据库		
   		 String filename=android.os.Environment.getExternalStorageState()+"/keys.db";
   		 
   	        String createTableSQL="REATE TABLE [t_key]("+"[id] INTEGER,"
   	        +"[name] VARCHER(20),"+"[address] VERCHER(20),"+"[shujukuai] VERCHER(),"
   	        		+"CONSTARAINT [sqlite_autoindex_t_key_1] PRIMATY KEY([id]))";
   	        
   	        File file=new File(filename);
   	        if(file.exists()){
   	        	file.delete(); }
   	       
   	        SQLiteDatabase database=SQLiteDatabase.openOrCreateDatabase(file,null);
   	        //创建t_key表
   	        database.execSQL(createTableSQL);
   	        //创建一个contentValues对象,表示要插入的行记录
   	        ContentValues contentValues=new ContentValues();
        }
//删除账号
try{

}
5 .创建数据库(2)
    //定义数据库  
      String filename=android.os.Environment.getExternalStorageState()+"/keys.db";
      
            String createTableSQL="REATE TABLE [t_key]("+"[id] INTEGER,"
            +"[name] VARCHER(20),"+"[address] VERCHER(20),"+"[shujukuai] VERCHER(),"
              +"CONSTARAINT [sqlite_autoindex_t_key_1] PRIMATY KEY([id]))";
            
         String createTableSQL1="REATE TABLE [t_nokey]("+"[id] INTEGER,"
                +"[name] VARCHER(20),"+"[address] VERCHER(20),"
                  +"CONSTARAINT [sqlite_autoindex_t_key_1] PRIMATY KEY([id]))";
            File file=new File(filename);
            if(file.exists()){
             file.delete(); }
           
            SQLiteDatabase database=SQLiteDatabase.openOrCreateDatabase(file,null);
            //创建t_key表
            database.execSQL(createTableSQL);
            database.execSQL(createTableSQL1);
            //创建一个contentValues对象,表示要插入的行记录
            ContentValues contentValues=new ContentValues();
            contentValues.put(String a,String b);
        }

  6.数据库的各项操作--添加
public void insert3(String id,String name ,String address,String shujukuai ){
      ContentValues cv=new ContentValues();
      cv.put("id",id);
      cv.put("name",name);
      cv.put("address",address);
      cv.put("shujukuai",shujukuai);
      db.insert("t_key","id",cv);
      db.insert("t_key","name",cv);
      db.insert("t_key", "address", cv);
      db.insert("t_key", "shujukuai", cv);
     }
         public void insert(TheDevices s){
          this.name=s.getName();
               this.address=s.getAddress();
               Cursor result=this.db.rawQuery(name, null);//得到有多少列
               int old_id=result.getColumnCount();
               int new_id=old_id+1;
          String sql="INSERT INTO"+TABLENAME+"(id,address,name,key)VALUES("+new_id+","+address+","+name+","+key+")";
          this.db.execSQL(sql);
          this.db.close();
         }
   public void insert1(String id,String name,String address,long key){   //连接到新设备,存储到数据库
          this.id=id;
          this.name=name;
               this.address=address;
               this.key=key;
          String sql="INSERT INTO"+TABLENAME+"(id,address,name,key)VALUES(?,?,?)";
          Object args[]=new Object[]{address,name,key};
            this.db.execSQL(sql,args);
            this.db.close();
         }

7.数据库的各项操作--修改
 
        //修改  
          public void update(TheDevices s){
             this.id=s.getId();
           String sql="UPDATE"+TABLENAME+"SET beizhu="+beizhu+"WHERE id="+id;
           this.db.execSQL(sql);
          this.db.close();
          } 
          public void update1(TheDevices s){
           this.name=s.getName();
           this.id=s.getId();
           String sql="UPDATE"+TABLENAME+"SET NAME=?WHERE id="+s.getId();
           Object args[]=new Object[]{name};
           this.db.execSQL(sql,args);
           this.db.close();
          }
         
 
8数据库的各项操作--删除   
     public void delete1(TheDevices s){
           String sql="DELETE FROM"+TABLENAME+"WHERE id="+s.getId();
           Object args[]=new Object[]{id};
           this.db.execSQL(sql,args);
           this.db.close();
          }
          public void delete2(TheDevices s){
           String sql= "DELETE FROM"+TABLENAME+"WHERE name="+s.getAddress();
           this.db.execSQL(sql);
          this.db.close();
          }
    
9数据库的各项操作--显示全部
//显示全部数据
          public void showAll() {
           String[] array = null;
           array = (String[]) find().toArray();
           MySQLiteDemo.this.helper=new MyDatabaseHelper(MySQLiteDemo.this);
           ListView listView=new ListView(MySQLiteDemo.this);
           listView.setAdapter(new ArrayAdapter<String>(MySQLiteDemo.this,
            android.R.layout.simple_list_item_1,
            array));
           MySQLiteDemo.this.mylayout.addView(listView);
          }


 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sqlite-jdbc-3.25.1.jar 是一个用于连接和操作 SQLite 数据库的 Java 驱动程序。它提供了在 Java 程序中对 SQLite 数据库进行读取和写入的功能。 SQLite 是一个轻量级的嵌入式数据库引擎,被广泛应用于移动设备和嵌入式系统中。而 sqlite-jdbc-3.25.1.jar 则是 SQLite 数据库的 Java 接口,它允许开发者使用 Java 语言来访问和操作 SQLite 数据库。该驱动程序允许在 Java 应用程序中使用 SQL 语句对 SQLite 数据库进行增、删、改、查等操作。 使用 sqlite-jdbc-3.25.1.jar 进行 SQLite 数据库操作非常简单。开发者只需在 Java 项目中引入该驱动程序的 Jar 文件,并使用 Java 代码进行连接和操作数据库即可。通过创建 Connection 对象,开发者可以连接到 SQLite 数据库。然后,可以使用该对象创建 Statement 对象,并通过执行 SQL 查询和更新语句来操作数据库中的数据。最后,需确保在使用完毕后,关闭相关的连接和资源。 除了提供基本的数据库连接和操作功能外,sqlite-jdbc-3.25.1.jar 还支持事务管理、预编译 SQL 语句、批量处理等高级功能,使得 SQLite 数据库在 Java 程序中的使用更加灵活和高效。 总而言之,sqlite-jdbc-3.25.1.jar 是一个用于连接和操作 SQLite 数据库的 Java 驱动程序。它方便了开发者在 Java 程序中使用 SQL 语句对 SQLite 数据库进行操作,为开发者提供了一个简单、高效的访问 SQLite 数据库的接口。 ### 回答2: sqlite-jdbc-3.25.1.jar是一个Java编程语言的SQLite数据库驱动程序。SQLite是一种轻量级的关系型数据库管理系统,具有快速、可靠和易于集成的特点。它是一个嵌入式数据库,不需要独立的服务器进程,可以直接在应用程序中使用。 sqlite-jdbc-3.25.1.jar是SQLite官方提供的Java接口实现。它提供了对SQLite数据库的连接、查询、插入、更新和删除等操作的支持。通过引入该jar包,我们可以在Java应用程序中使用SQLite数据库,进行数据的持久化存储和访问。 使用sqlite-jdbc-3.25.1.jar可以简化与SQLite数据库的交互过程。我们只需在Java程序中引入该库,并配置相应的连接参数,即可创建和管理SQLite数据库连接对象。然后,我们可以使用SQL语句来执行数据库操作,例如查询表中的数据、插入新的记录、更新已有记录等。 sqlite-jdbc-3.25.1.jar还提供了一些其他的功能和特性,例如批量操作、事务处理、预编译语句、连接池管理等,可以进一步优化数据库操作的性能和效率。 总之,sqlite-jdbc-3.25.1.jar是一个能够在Java应用程序中与SQLite数据库进行交互的驱动程序。通过使用它,我们可以更方便地使用SQLite作为数据存储和管理的解决方案,实现数据持久化和访问的需求。 ### 回答3: sqlite-jdbc-3.25.1.jar 是SQLite数据库的Java驱动程序。它是用于在Java应用程序中与SQLite数据库进行交互的关键库文件。SQLite是一个轻量级的嵌入式关系型数据库,适用于移动设备和小型应用。而sqlite-jdbc-3.25.1.jar允许Java开发人员通过提供一个简单的API来连接和操作SQLite数据库sqlite-jdbc-3.25.1.jar提供了一系列的类和方法,使开发人员可以轻松地创建、查询、更新和删除数据库中的数据。它支持执行SQL语句、预编译语句、事务管理等数据库操作。从连接数据库、执行SQL语句到关闭数据库连接,sqlite-jdbc-3.25.1.jar提供了一套完整的功能来简化与SQLite数据库的交互。 使用sqlite-jdbc-3.25.1.jar可以带来很多好处。首先,它提供了一个简单而易于使用的API,使得在Java应用程序中使用SQLite数据库变得更加方便。其次,它具有良好的性能和可靠性,能够处理大量数据和高并发访问。另外,sqlite-jdbc-3.25.1.jar是开源的,意味着开发人员可以根据自己的需求进行定制和扩展。最重要的是,由于SQLite是一个嵌入式数据库,所以在使用sqlite-jdbc-3.25.1.jar时不需要额外安装和配置数据库服务器,这使得应用程序的部署更加简单和便捷。 总而言之,sqlite-jdbc-3.25.1.jar是一个重要的Java库文件,它使得在Java应用程序中使用SQLite数据库变得更加便捷和高效。它具有简单易用的API、良好的性能和可靠性,适用于各种规模的应用程序。无论是在移动设备还是小型应用中,sqlite-jdbc-3.25.1.jar都是首选的数据库驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值