Android 未创建数据库/表
未创建SQLite数据库或表 DatabaseHelper.javaAndroid 未创建数据库/表,android,eclipse,android-sqlite,Android,Eclipse,Android Sqlite,未创建SQLite数据库或表 DatabaseHelper.java public class DatabaseHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "employee_directory1"; protected Context context; private static final int DATABASE_VERSION = 1; pu
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "employee_directory1";
protected Context context;
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
String s;
try {
Toast.makeText(context, "1",Toast.LENGTH_SHORT).show();
InputStream in = context.getResources().openRawResource(R.raw.sql);
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(in, null);
NodeList statements = doc.getElementsByTagName("statement");
for (int i=0; i<statements.getLength(); i++) {
s = statements.item(i).getChildNodes().item(0).getNodeValue();
db.execSQL(s);
}
} catch (Throwable t) {
Toast.makeText(context, t.toString(), 50000).show();
}
}
在代码中sql查询分部分执行 请在
DatabaseHelper
的oncreate
中更改代码。我成功地创建了一个表
@Override
public void onCreate(SQLiteDatabase db) {
String s = null;
try {
Toast.makeText(context, "1", Toast.LENGTH_SHORT).show();
InputStream in = context.getResources().openRawResource(R.raw.sql);
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
org.w3c.dom.Document doc = builder.parse(in, null);
NodeList statements = doc.getElementsByTagName("statement");
for (int i = 0; i < statements.getLength(); i++) {
s = s.concat( statements.item(i).getChildNodes().item(0).getNodeValue());
}
Log.d("SQLEXAMPLE", s);
db.execSQL(s);
} catch (Throwable t) {
Toast.makeText(context, t.toString(), 50000).show();
}
}
@覆盖
public void onCreate(SQLiteDatabase db){
字符串s=null;
试一试{
Toast.makeText(上下文“1”,Toast.LENGTH_SHORT).show();
InputStream in=context.getResources().openRawResource(R.raw.sql);
DocumentBuilder=DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
org.w3c.dom.Document doc=builder.parse(in,null);
节点列表语句=doc.getElementsByTagName(“语句”);
for(int i=0;i
您遇到的错误是什么?删除try catch
,卸载应用程序以删除旧数据库文件,并查看是否存在异常。完成所有这些操作。firstName列不存在错误即将出现。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);
setContentView(R.layout.main);
searchText = (EditText) findViewById(R.id.searchText);
db = (new DatabaseHelper(this)).getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
String s = null;
try {
Toast.makeText(context, "1", Toast.LENGTH_SHORT).show();
InputStream in = context.getResources().openRawResource(R.raw.sql);
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
org.w3c.dom.Document doc = builder.parse(in, null);
NodeList statements = doc.getElementsByTagName("statement");
for (int i = 0; i < statements.getLength(); i++) {
s = s.concat( statements.item(i).getChildNodes().item(0).getNodeValue());
}
Log.d("SQLEXAMPLE", s);
db.execSQL(s);
} catch (Throwable t) {
Toast.makeText(context, t.toString(), 50000).show();
}
}