如何在Eclipse环境下,使用SQLite数据库中建立多个表

如何在Eclipse环境下,使用SQLite数据库中建立多个表,第1张

在eclipse中需要自定义创建表工具类:

比如;

1、写一个DBHelper继承自SQLiteOpenHelper

public class DBHelper extends SQLiteOpenHelper{

//数据库的版本

private final static int DB_VERSION = 1;

//数据库名

private final static String DB_NAME = "ladengdb";

private Context mContext;

//我们直接用super调用父类的构造方法,这样我们在实例化DBHelper的时候只需要传入一个上下文参数就可以了

public DBHelper(Context context) {

super(context, DB_NAME, null, DB_VERSION);

thismContext = context;

}

//数据库不存在的时候,调用这个方法

@Override

public void onCreate(SQLiteDatabase db) {

createTables(db,0,0);

}

//版本号发生变化的时候,调用这个方法

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

//1删除原来的表

//2调用onCreate重新创建数据库

}

/

建表语句,只需要一行就能建一个表

/

private void createTables(SQLiteDatabase db, int oldVersion, int newVersion) {

//createTable(Movieclass)返回的是sql建表语句

//dbexecSQL(sql) 执行这条建表语句

dbexecSQL(createTable(Movieclass));

}

/

如果没传表明的话,默认使用类名作为表明

@param clazz 实体类

@return

/

private <T> String createTable(Class<T> clazz){

return createTable(clazz, clazzgetSimpleName());

}

/

真正的建表方法

@param clazz 实体类

@param tableName 表明

@return sql建表语句

/

private <T> String createTable(Class<T> clazz , String tableName){

//实例化一个容器,用来拼接sql语句

StringBuffer sBuffer = new StringBuffer();

//sql语句,第一个字段为_ID 主键自增,这是通用的,所以直接写死

sBufferappend("create table if not exists "+ tableName + " "+

"(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,");

//得到实体类中所有的公有属性

Field[] fields = clazzgetFields();

//遍历所有的公有属性

for(Field field : fields){

//如果属性不为_id的话,说明是新的字段

if (!fieldgetName()equals("_id")) {

//得到属性的基本数据类型

String type = fieldgetType()getSimpleName();

//如果是String类型的属性,就把字段类型设置为TEXT

if (typeequals("String")) {

sBufferappend(fieldgetName()+" TEXT,");

//如果是int类型的属性,就把字段类型设置为INTEGER

}else if (typeequals("int")) {

sBufferappend(fieldgetName()+" INTEGER,");

}

}

}

//将最后的逗号删除

sBufferdeleteCharAt(sBufferlength()-1);

//替换成); 表明sql语句结束

sBufferappend(");");

//返回这条sql语句

return sBuffertoString();

}

}

2、Movie实体类,实体类中的属性就是表中的字段

public class Movie {

public String title;

public int rating;

public String year;

public String genre;

public String country;

public int price;

}

3、在MainActivityjava中添加如下代码

public class MainActivity extends Activity {

  @Override

  protected void onCreate(Bundle savedInstanceState) {

      superonCreate(savedInstanceState);

      setContentView(Rlayoutactivity_main);

      //实例化我们的DBHelper

      DBHelper dbHelper = new DBHelper(this);

      //调用了这个方法后,DBHelper中的onCreate才会执行

      dbHelpergetReadableDatabase();

  }

}

4、创建结果:

android访问其他数据库需要什么权限

如果您需要让某些登录用户具有不同的访问权限,请确保用户数据库表格包含一个特定的列,该列指定每个用户的访问权限(“来宾”、“用户”、“管理员”等)。每个用户的访问权限应该由站点管理员在数据库中输入。

在大多数数据库应用程序中,每当新建一个记录时,可以将一个列设置为默认值。将该默认值设置为站点上最常用的访问权限(例如“来宾”);然后手动更改例外的情况(例如,将“来宾”更改为“管理员”)。用户现在即可访问所有管理员页。

确保数据库中的每个用户都具有单一的访问权限(例如“来宾”或“管理员”),而不是多项权限(例如“用户、管理员”)。如果要为您的页设置多项访问权限(例如,所有来宾和管理员都可以查看该页),则在页级别(而不是在数据库级别)设置这些权限。

访问lync数据库需要什么权限

安装 Lync Server 2010 的用户必须具有 Schema Admins 组权限,当然还必须要具备 Domain Admins组权限 和 Enterprise Admins组权限。

1安装

2安装拓扑生成器

3生成拓扑

然后选择拓扑文件存放位置

主SIP域,一般为主域名 例如 contoso

有没有额外的域,如果没有直接下一步

每个部署必须至少聚友一个站点。如果您的部署具有多个站点,以后可以使用“新建站点”向导添加其他站点。

定义一个相应版本的FQDN名称

当前前端服务器池中的服务器FQDN名称

勾选功能

安装SQL服务器的 FQDN名称

定义一个共享文件夹,用于存放会议PPT等文件,注意:此共享不要在前端服务器上。

公网域名

如果有,需要指定PSTN的网关IP地址

4 AD准备完成后,需要做两方面的准备

1需要把管理Lync的账号加入 SCAdminitrator组 和 RTCUniversalServerAdmins 组

2在DNS中添加A记录

poolcontoso

admincontoso 指向前端服务器

meetcontoso 会议

dialincontoso 电话拨入

android 怎么访问其他运用的数据库

按照Android的流程,创建数据库的程序应该提高一个Provider,这样另外的程序就可以通过这个Provider来访问这个数据库了。

mysql创建数据库需要什么权限

你都不是安全登录的,没有建库的权限,重新退出mysql,

在cmd下执行 mysql -u root -p密码<img id="selectsearch-icon" src=:imgbaidu/img/iknow/qb/select-searchpng alt="搜索">

服务器,ACC数据库C盘需要什么权限

权限必须是系统管理员administrator的完全控制

如何直接用SQL语句访问其他数据库

select from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名dbo表名)

什么是权限?用户访问数据库有哪些权限?

权限 是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。它常常用“具有批准……事项的权限”来进行表达。例如,具有批准预算外5000元以内的礼品费支出的权限。

只有在需要让某些登录用户具有不同的访问权限时,该构造块才是必需的。如果您只是要求用户登录,则不需要存储访问权限。

如果您需要让某些登录用户具有不同的访问权限,请确保用户数据库表格包含一个特定的列,该列指定每个用户的访问权限(“来宾”、“用户”、“管理员”等)。每个用户的访问权限应该由站点管理员在数据库中输入。

在大多数数据库应用程序中,每当新建一个记录时,可以将一个列设置为默认值。将该默认值设置为站点上最常用的访问权限(例如“来宾”);然后手动更改例外的情况(例如,将“来宾”更改为“管理员”)。用户现在即可访问所有管理员页。

确保数据库中的每个用户都具有单一的访问权限(例如“来宾”或“管理员”),而不是多项权限(例如“用户、管理员”)。如果要为您的页设置多项访问权限(例如,所有来宾和管理员都可以查看该页),则在页级别(而不是在数据库级别)设置这些权限。

db2数据库用户建缓冲池需要什么权限

PrintPreviewDialog pPDlg;

exec_prefix='NONE'PACKAGE='libevent'

PACKAGE_BUGREPORT=''

PACKAGE_NAME=''

PACKAGE_STRING=''

PACKAGE_TARNAME=''

PACKAGE_URL=''

PACKAGE_VERSION=''

PATH_SEPARATOR=':'

Android数据库权限!

数据库支持,无论生命线的大小每一个应用程序,除非你的应用程序只能处理简单的数据,你需要一个数据库系统来存储你的结构化数据,使用SQLite数据库,这是一个开源的Android,支持多 *** 作系统的SQL数据库广泛应用于许多领域,如Mozilla Firefox是使用SQLite的存储配置数据,iPhone还使用SQLite来存储数据。

在Android中,您创建一个应用程序的数据库,只有它可以访问,其他应用程序无法访问位于Android设备/数据/数据/ /数据库文件夹中的数据库,在这篇文章中,您将学习如何创建和使用在Android的数据库。

SQLite数据库

使用Eclipse创建一个Android项目,命名数据库,如图1:

中国1数据库 - 使用Eclipse创建新项目的Android

创建最佳实践DBAdapter数据库的辅助类

*** 作是创建一个辅助类,它封装了访问数据库的所有复杂性,调用代码来讲它是透明的,所以我创建了一个帮手DBAdapter类,创建,打开,关闭和使用SQLite数据库它。

首先,在src /文件夹(在本实施例中的src / learn2developDatabase)下一个DBAdapterjava文件中的溶液。

在DBAdapterjava文件要使用导入所有的命名空间:

- 软件包learn2developDatabases;

中国进口androidcontentContentValues;

进口androidcontentContext;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqlite SQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{}

中国接下来,创建一个数据库,名为bookstitles,如图所示领域。

中国2数据库字段酒店在DBAdapterjava文件,如清单1

文件清单1中定义的常量定义DBAdapterjava不断

包learn2developDatabase;

进口androidcontentContentValues;

进口androidcontent。语境;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqliteSQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{

公共静态最后弦乐KEY_ROWID = _id;

公共静态最后弦乐KEY_ISBN = ISBN;

公共静态最后弦乐KEY_TITLE =称号;

公共静态最后弦乐KEY_PUBLISHER =发行;

私有静态最后字符串变量= DBAdapter;

私有静态最后弦乐DATABASE_NAME =书籍;

私有静态最后弦乐DATABASE_TABLE =职称;

私有静态最终诠释DATABASE_VERSION = 1;

私有静态最后弦乐DATABASE_CREATE =

创建表的标题(_id整数主键自动增量,

+ ISBN文本不为空,标题文本不为空,

+出版商文字NOT NULL); ;

私人最终上下文语境;

}

DATABASE_CREATE常数包括标题表创建SQL语句。

在DBAdapter类,你可以扩展SQLiteOpenHelper类,这是一款Android辅助类,主要用于创建数据库和版本管理。事实上,你可以覆盖的onCreate()和onUpgrade()方法,如清单2所示清单2

DBAdapter类,涵盖了SQLiteOpenHelper的onCreate()和onUpgrade()方法登录到到网扩展类 - 软件包learn2developDatabase;

中国进口的Android。 contentContentValues;

进口androidcontentContext;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqliteSQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{

公共静态最后弦乐KEY_ROWID = _id;

公共静态最后弦乐KEY_ISBN = ISBN;

公共静态最后弦乐KEY_TITLE =称号;

公共静态最后弦乐KEY_PUBLISHER =发行;

私有静态最后字符串变量= DBAdapter;

私有静态最后弦乐DATABASE_NAME =书籍;

私有静态最后弦乐DATABASE_TABLE =职称;

私有静态最终诠释DATABASE_VERSION = 1;

私有静态最后弦乐DATABASE_CREATE =

创建表的标题(_id整数主键自动增量,

+ ISBN文本不为空,标题文本不为空,

+出版商文字NOT NULL);;

私人最终上下文语境;

私人DatabaseHelper DBHelper;

私人SQLiteDatabase分贝;

公共DBAdapter(上下文CTX){

thiscontext = CTX;

DBHelper =新DatabaseHelper(上下文);

}

私有静态类DatabaseHelper扩展SQLiteOpenHelper

{

DatabaseHelper(上下文环境){

超(背景下,DATABASE_NAME,空,DATABASE_VERSION);

}

覆盖

公共无效的onCreate(SQLiteDatabase DB){

dbexecSQL(DATABASE_CREATE);

}

覆盖

公共无效onUpgrade(SQLiteDatabase分贝,INT oldVersion,

INT NEWVERSION){

Logw(TAG,从版本升级数据库?+ oldVersion

?+到

+ NEWVERSION +,这将销毁所有旧的数据);

dbexecSQL(“DROP TABLE IF EXISTS标题”);

的onCreate(DB);

}}

}

的onCreate()方法创建一个新的数据库,onUpgrade()方法用于升级数据库,它可以通过检查DATABASE_VERSION常数值来定义?实现,为onUpgrade()方法,只是简单地删除表,然后只创建一个表。

1po包:存放的是javabean类,每个Javabean类对应数据库中一张表。类名和表名一致

2dao包:存放的是 *** 作数据的类,即对数据库中的表进行增删查改 *** 作的类,每个dao类对应数据库中的一张表。类

名为一表名+Dao

3util包:存放的是公用的类和常量类

4test包:存放的是测试类

首先进入当前 eclipse所在的 工作区,比如:

d:\workspace,后面是项目名称,然后根据包结构建立的路径:d:\workspace\billmm\src\com\test\Demojava!

以上就是关于如何在Eclipse环境下,使用SQLite数据库中建立多个表全部的内容,包括:如何在Eclipse环境下,使用SQLite数据库中建立多个表、android访问其他数据库需要什么权限、eclipse中使用多条sql语句中都含有一个表名,可以用常量来代替表名吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9578780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存