[英]How Can I Solve This Problem in my dart code sqlite
我的代碼中有一個問題,在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):“ INTEGER”附近的(1):語法錯誤
I / flutter(14607):錯誤DatabaseException(在“ INTEGER”附近:語法錯誤(代碼1):),而在編譯時:Centate table userT(id INTEGER主鍵唯一性,用戶名TEXT,密碼TEXT,city TEXT,age INTEGER)代碼herepen,關閉...
E / flutter(14607):[錯誤:flutter / lib / ui / ui_dart_state.cc(148)]未處理的異常:DatabaseException(在“ INTEGER”附近:語法錯誤(代碼1):,而在編譯時:CREATE TABLE userT(id INTEGER主鍵唯一性,用戶名TEXT,密碼TEXT,城市TEXT,年齡INTEGER)
語法錯誤。 您忘了把)放在行尾
$columnAge INTEGER )
您可以在https://sqliteonline.com/中檢查您的sqllite代碼
CREATE TABLE userT (columnId INTEGER PRIMARY KEY UNIQUE ,
columnUserName TEXT , columnPassword TEXT , columnCity TEXT , columnAge INTEGER)
放置后)。 它工作正常。
編輯:您在評論中提到的Insert Into語句的第二個問題
Insert Into語句的語法錯誤是“ userCity”列不存在。
在您提供的問題中,在創建表時,使用名稱columnCity ='city'。 因此,您應該將名稱更改為“ city”。
嘗試刪除唯一
他們沒有在任何示例中包含該詞,因此可能尚未實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.