gpt4 book ai didi

sqlite - 如何在我的 dart 代码 sqlite 中解决这个问题

转载 作者:IT王子 更新时间:2023-10-29 07:15:59 26 4
gpt4 key购买 nike

我的代码有一个问题,在 database_helper.dart 中午餐时发生错误

database_helper.dart 是 Sqlite 存储数据学习项目中的一个文件,我遇到了这个问题, 我尝试了很多解决方案,比如卸载应用程序并重新安装

谁能帮帮我?

======

class DataBaseHelper {
static Database _db ;
final String userT = 'userT' ;
final String columnId = 'id' ;
final String columnUserName = 'username' ;
final String columnPassword = 'password' ;
final String columnAge = 'age' ;
final String columnCity = 'city' ;
=========

Future<Database> get dbase async {
if(_db != null) {
return _db ;
}
_db = await intDB();
return _db ;

}
=================

intDB() async {
Directory docDirectory = await getApplicationDocumentsDirectory() ;
String path = join(docDirectory.path , 'myDB.db') ;
var myOwnDB = await openDatabase(path , version: 1 , onCreate: _onCreate);
return myOwnDB ;
}
=========================

void _onCreate(Database db , int newVersion) async {
var sql = 'CREATE TABLE $userT ($columnId INTEGER PRIMARY KEY UNIQUE ,'
' $columnUserName TEXT , $columnPassword TEXT , $columnCity TEXT , $columnAge INTEGER ' ;
await db.execute(sql) ;
}

错误日志:

E/SQLiteLog(14607): (1) near "INTEGER": syntax error

I/flutter (14607): error DatabaseException(near "INTEGER": syntax error (code 1): , while compiling: CREATE TABLE userT (id INTEGER PRIMARY KEY UNIQUE , username TEXT , password TEXT , city TEXT , age INTEGER) during oenter code herepen, closing...

E/flutter (14607): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: DatabaseException(near "INTEGER": syntax error (code 1): , while compiling: CREATE TABLE userT (id INTEGER PRIMARY KEY UNIQUE , username TEXT , password TEXT , city TEXT , age INTEGER)

最佳答案

语法错误。你忘了把 ) 放在行尾

$columnAge INTEGER )

您可以在 https://sqliteonline.com/ 中查看您的 sqllite 代码

CREATE TABLE userT (columnId INTEGER PRIMARY KEY UNIQUE ,
columnUserName TEXT , columnPassword TEXT , columnCity TEXT , columnAge INTEGER)

放在 ) 之后。它工作正常。

enter image description here

编辑:您在评论中提到的 Insert Into 语句的第二个问题

Insert Into 语句的语法错误是“userCity”列不存在。
在您提供的问题中,当您创建表时使用名称 columnCity = 'city'。所以您应该将名称更改为“city”。

关于sqlite - 如何在我的 dart 代码 sqlite 中解决这个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57377972/

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