gpt4 book ai didi

android - 如何在android中使用sqlite数据库创建表?

转载 作者:搜寻专家 更新时间:2023-10-30 23:15:51 25 4
gpt4 key购买 nike

public class MyAct extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

SQLiteDatabase db = openOrCreateDatabase("MyDb",MODE_PRIVATE,null);
db.execSQL("CREATE TABLE IF NOT EXISTS MyTab (Month INT(2),Date INT(2),Year INT(4),Event VARCHAR;");
db.execSQL("INSERT INTO MyTab VALUES (0,1,2012,'mini_proj');");
db.close();

}
}

我已经编写了这个小 fragment 来创建一个表,但它不起作用。这段代码有什么问题?

最佳答案

在您的第一个查询中,您缺少右大括号:

CREATE TABLE IF NOT EXISTS MyTab (
Month INT(2),
Date INT(2),
Year INT(4),
Event VARCHAR;

应该是:

CREATE TABLE IF NOT EXISTS MyTab (
Month INT(2),
Date INT(2),
Year INT(4),
Event VARCHAR
)

另外,请注意,查询不需要以 ; 结尾,如文档中所述:

Parameters
sql the SQL statement to be executed. Multiple statements separated by semicolons are not supported.

此外,您应该始终检查您的 LogCat 输出,因为这会抛出一个 SQLiteException


一些进一步的 SQLite 注释:

  1. SQLite 没有VARCHAR 类型。它only has TEXT并将任何类似文本的类型转换成它。
  2. 请注意,SQLite 也会忽略为数据类型指定长度:

SQLite does not impose any length restrictions (other than the large global SQLITE_MAX_LENGTH limit) on the length of strings, BLOBs or numeric values.

关于android - 如何在android中使用sqlite数据库创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com