额。。。这个提示好像只是说这个方法没有被引用吧
一年多没碰了,印象这个地方是坑了很久,翻了下以前的代码,发现几个线索
这个成员声明去掉private
SQLiteDatabase db
实现类里面有个这个东东,你在你的实现类里面加下试试,可能有效
public final static String DB_NAME = "test.db"
可以用这个函数调试,方法进去没有很清晰
android.util.Log.i("onCreate()", "create Database------------->")
去翻翻父类的机制,印象中里面调来调去的
附测过的源码(sdk的版本是20131030这个的)
package org.xxxx.andriod.iweather
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteDatabase.CursorFactory
import android.database.sqlite.SQLiteOpenHelper
import android.util.Log
public class DBHandle extends SQLiteOpenHelper {
private static final int VERSION = 1
// public final static String DB_PATH = "/sdcard/mydb/"
public final static String DB_NAME = "iweather.db"
SQLiteDatabase db
public DBHandle(Context context, String name) {
super(context, name, null, VERSION)
Log.i("init DBHandle:", "1")
}
public DBHandle(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version)
Log.i("init DBHandle:", "2")
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
// db = getWritableDatabase()
Log.i("onCreate()", "create Database------------->")
//这个表用于存放地市列表
db.execSQL("create table city_list(city_id varchar(20),city_name varchar(20),parent_id varchar(20),parent_name varchar(20),is_leaf int)")
//这个表用于存放地市ID和查询天气时用的地市编码映射关系
db.execSQL("create table city_code(city_id varchar(20),city_code varchar(20))")
Log.d("Sqlite onCreate...", db.toString())
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
库。通常使用以下两种方法来映射继承关系:
1)将基类映射到一张表,每个子类映射到一张表。在基类对应的表中定义主键,而在
子类对应的表中定义外键。
2)将每个子类映射到一张表,没有基类表。在每个子类的表中包括基类的所有属性。
这种方法适用于子类的个数不多,基类属性比较少的情况。
说简单点吧:首先导入命名空间:using System.Data.SqlClient
然后定义2个对象:
//1 建立连接对象
SqlConnection con=new SqlConnection()
//2 连接字符串(这里连接的是本地数据库,sa用户登陆,无密码)
con.ConnectionString="server=.uid=sapwd="
//3 建立命令执行对象
SqlCommand cmd=new SqlCommand()
//4 给命令执行对象指定连接对象
cmd.Connection=con
//5 SQL语句(指定要创建数据库的SQL句)
cmd.CommandText="create database mydatabase"
//6 打开数据库连接
con.Open()
//7 执行命令对象里的SQL语句
cmd.ExecuteNonQuery()
//8 执行完后关闭数据库连接
con.Close()
这样数据库就建立好了,要建立自定义的数据库就看你的SQL语句了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)