1,驱动配置有误:driver=commysqljdbcdriver2,数据库连接地址有误:url=jdbc:mysql://localhost:3306/test3useunicode=true&characterencoding=utf83,密码或帐号有误:username=rootpassword=root4,数据库未启动或无权访问5,项目未引入对应的驱动jar包mysql-connector-java-516-binjar6,mysqlroot没有远程访问的权限,需要增加权限,增加权限的步骤如下:进入mysql数据库:grantallprivilegesonto'root'@'%'identifiedby'root'withgrantoption;flushprivileges;7jdbc驱动要放到jre里面。
推荐你去下载afinal,安卓的开源项目,可以加载sd卡或者本地的数据库,值得借鉴
做一个android蓝牙接收模块,接收部分已经做好,但是现在想在手机UI界面上面做一个mac地址的筛选功能,就是在UI界面上面输入一些mac地址,当蓝牙接收到匹配的mac地址才进行接收和显
一、引入
数据库创建的问题解决了,接下来就该使用数据库实现应用程序功能的时候了。基
本的 *** 作包括创建、读取、更新、删除,即我们通常说的 CRUD(Create, Read, Update, Delete)。
在实现这些 *** 作的时候,我们会使用到两个比较重要的类 SQLiteDatabase 类和 Cursor 类。
二、创建表
1,execSQL(String sql):执行一条 sql 语句,且执行 *** 作不能为 SELECT
因为它的返回值为 void,所以推荐使用 insert、update 方法等
2,execSQL (String sql,Object[] bindArgs)
sql:执行一条 sql 语句
bindArgs:为 sql 语句中的赋值
三、添加数据
1、execSQL(String sql)
2、使用对象的 insert 方法
ContentValues values = new ContentValues();
valuesput(USERNAME, usergetUsername());
valuesput(PASSWORD, usergetPassword());
dbinsert(TABLE_NAME, null, values);
参数:
table:数据库中的表名
nullColumnHack:指定默认插入字段,为 null 时能插入数据
values:表示插入字段所对应的值,使用 put 方法。
四、删除数据
1、execSQL(String sql)
2、使用对象的 delete 方法
String whereClaues="_id=";
String [] whereArgs={StringvalueOf(id)};
//dbdelete(TABLE_NAME, "_id="+id, null);
dbdelete(TABLE_NAME, whereClaues, whereArgs);
参数
table:数据库的表名
whereClause:where 子句,比如:_id=
whereArgs:where 子句中的值
五、修改数据
1、execSQL(String sql)
2、使用对象的 delete 方法
ContentValues values = new ContentValues();
valuesput(USERNAME, usergetUsername());
valuesput(PASSWORD, usergetPassword());
String whereClaues="_id=";
String [] whereArgs={StringvalueOf(usergetId())};
dbupdate(TABLE_NAME, values, whereClaues, whereArgs);
参数
table:数据库的表名
values:代表要修改的值,修改方法还是 put(key,values)
whereClause:条件子句,比如 id=,name=
whereArgs:为 whereClause 中的赋值,比如:new String[]{"1","张三"}
图:
参考代码:
程序内使用SQLite数据库是通过SQLiteOpenHelper进行 *** 作
1 自己写个类继承SQLiteOpenHelper,重写以下3个方法
public void onCreate(SQLiteDatabase db)
{//创建数据库时的 *** 作,如建表}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
//版本更新的 *** 作
}
2 通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的 *** 作都是对SQLiteDatabase进行 *** 作。
3 对得到的SQLiteDatabase对象进行增,改,删,查等 *** 作。
代码
package cxmyNote;
import androidcontentContentValues;
import androidcontentContext;
import androidcontentIntent;
import androiddatabaseCursor;
import androiddatabasesqliteSQLiteDatabase;
import androiddatabasesqliteSQLiteOpenHelper;
//DBOptions for login
public class DBOptions {
private static final String DB_NAME = "notesdb";
private static final String DB_CREATE="create table logininf(name text,pwd text)";
public class DBHelper extends SQLiteOpenHelper
{
public DBHelper(Context context) {
super(context,DB_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//建表
dbexecSQL(DB_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
dbexecSQL("drop table if exists logininf");
onCreate(db);
}
}
private Context context;
private SQLiteDatabase db;
private DBHelper dbHelper;
public DBOptions(Context context)
{
thiscontext = context;
dbHelper = new DBHelper(context);
db=dbHelpergetReadableDatabase();
}
//自己写的方法,对数据库进行 *** 作
public String getName()
{
Cursor cursor = dbrawQuery("select name from logininf", null);
cursormoveToFirst();
return cursorgetString(0);
}
public int changePWD(String oldP,String pwd)
{
ContentValues values = new ContentValues();
valuesput("pwd", pwd);
return dbupdate("logininf", values,"pwd="+oldP, null);
}
}
insert方法插入的一行记录使用ContentValus存放,ContentValues类似于Map,它提供了put(String key, Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxxx(String key)方法用于取出数据
开发环境的部署
今天主要讲解第一个部分,开发环境的部署
*** 作系统:Windows764bit 旗舰版
当然这个是什么基本无所谓,只是我是在这上面开发的,不过家庭普通版的貌似不能配置IIS,就是咱们后面要使用的一个服务
android端:eclipse + ADT集成开发环境
相信看到这个教程的基本都知道如何做这些了如果真的是有哪位同学android开发环境没有配置好而来看这篇教程,请先移步->>>
以上就是关于Android用jdbc链接mysql并对数据库进行增,删,改,查;注意是Android全部的内容,包括:Android用jdbc链接mysql并对数据库进行增,删,改,查;注意是Android、android UI 界面怎么连接sqlite 进行数据库修改、android 怎么往数据库里面添加数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)