我使用我的数据库时遇到问题.请检查一下:
// Database Name
private static final String DATABASE_NAME = "Poloha";
// Data table name
private static final String DATA = "Data";
// Data Table Columns names
private static final String KEY_Y= "Y";
private static final String KEY_X= "X";
private static final String KEY_ID = "_id";
private static final String KEY_NAZEV = "Nazev";
private static final String KEY_MAC = "MAC";
public void onCreate(SQLiteDatabase db)
{
String CREATE_CONTACTS_TABLE = "CREATE TABLE IF NOT EXISTS"
+ DATA + "("
+ KEY_ID + …Run Code Online (Sandbox Code Playgroud) 以下代码有什么问题?
(!)警告:SQLite3 :: prepare()[sqlite3.prepare]:无法准备语句:1,在":DB_NAME"附近:第91行的C:\ xampp\htdocs\memo\DB.php中的语法错误
调用堆栈
#时间记忆功能位置
1 1.0436 335032 {main}()..\memo.php:0
2 1.0471 370312备忘录 - > __ construct()..\memo.php:22
3 1.0524 371112 DB-> addRow()..\memo.php:17
4 1.0524 371240准备()..\DB.php
/**
* Add row to DB table.
* @return bool
*/
public function addRow($idVal, $titleStr, $contentStr){
$query = "INSERT INTO :DB_NAME VALUES(:ID, :Title, :Content);";
$stmt = $this->db->prepare($query);
$stmt->bindValue(":DB_NAME", DB::DB_NAME);
$stmt->bindValue(':id', $idVal, SQLITE3_INTEGER);
$stmt->bindValue(":Title", $titleStr, SQLITE3_TEXT);
$stmt->bindValue(":Content", $contentStr, SQLITE3_TEXT);
return $stmt->execute();
}
Run Code Online (Sandbox Code Playgroud) String updateQuery = "UPDATE Bookdetails SET lastchapter = " + test + " WHERE bookpath=" +sentFilename;
db.execSQL(updateQuery);
Run Code Online (Sandbox Code Playgroud)
错误:
03-04 13:36:23.997: I/System.out(9722): android.database.sqlite.SQLiteException:
near "/": syntax error: , while compiling: UPDATE Bookdetails SET lastchapter =
mukund WHERE bookpath=/mnt/sdcard/Download/What's so great about the doctrine of
grace.epub errors happens
Run Code Online (Sandbox Code Playgroud)
错误发布在上面
我的表包含字段id,bookpath和lastchapter,book path包含值
/mnt/sdcard/Download/What's so great about the doctrine of grace.epub
/mnt/sdcard/Download/1b4fdaac-f31d-41e8-9d15-26c9078d891f.epub
/mnt/sdcard/Download/Commentary on Romans.epub
Run Code Online (Sandbox Code Playgroud)
而lastchapter包含的价值一无所有
id包含1 2 3
为什么"/"在我的更新查询中没有哈希发生的错误只存在于存储bookpath的字符串?这是一个错误吗?
如何刷新该死的Core Data对象?
请原谅,我只想删除对象20分钟.删除就好了,但Core Data会在一段时间后引发异常.
我到目前为止尝试过:
删除所有对象(MR_truncateAll),然后保存.
删除所有对象,处理挂起的更改,保存.
关闭撤消管理器,删除,转回撤消管理器.
删除Core Data sqlite文件,销毁上下文,然后重新创建.
使用[MagicalRecord cleanUp],删除核心数据sqlite文件.
尽管如此,当我想创建对象时,经过2-3次尝试后,我将获得Faulting,然后因故障而崩溃.
CoreData could not fulfill a fault for '0xd000000000840002 <x-coredata://...
(
0 CoreFoundation 0x0000000102016795 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000101d79991 objc_exception_throw + 43
2 CoreData 0x0000000100265a93 _PFFaultHandlerLookupRow + 1075
3 CoreData 0x00000001002f33a3 -[NSManagedObject(_NSInternalMethods) _updateFromRefreshSnapshot:includingTransients:] + 243
4 CoreData 0x0000000100297563 -[NSManagedObjectContext(_NestedContextSupport) _copyChildObject:toParentObject:fromChildContext:] + 771
5 CoreData 0x000000010029701b -[NSManagedObjectContext(_NestedContextSupport) _parentProcessSaveRequest:inContext:error:] + 1019
6 CoreData 0x00000001002fd243 __82-[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]_block_invoke + 563
7 libdispatch.dylib 0x0000000102ce005a …Run Code Online (Sandbox Code Playgroud) 我试图从sqlite中的表中获取所有项目,并需要在列表视图中显示它.
这是我获取物品的代码
public List<MenuData> getMenuItem(){
SQLiteDatabase db;
Cursor cursor=null;
List<MenuData> menuList = new ArrayList<MenuData>();
db=getReadableDatabase();
String query ="SELECT * from "+TABLE_NAME_MENU;
try{
cursor = db.rawQuery (query, null );
}
catch (NullPointerException e){
Log.e("Error","Null Pointer Exception");
}
if ( cursor.moveToFirst()) {
do {
MenuData menuData= new MenuData();
menuData.setKEY_ITEM_NAME(cursor.getString(cursor.getColumnIndex(KEY_ITEM_NAME)));
menuData.setKEY_ITEM_CATEGORY(cursor.getString(cursor.getColumnIndex(KEY_ITEM_CATEGORY)));
menuData.setKEY_ITEM_CONTENTS(cursor.getString(cursor.getColumnIndex(KEY_ITEM_CONTENTS)));
menuData.setKEY_ITEM_TYPE(cursor.getString(cursor.getColumnIndex(KEY_ITEM_TYPE)));
menuData.setKEY_PRICE(cursor.getString(cursor.getColumnIndex(KEY_PRICE)));
menuList.add(menuData);
} while (cursor.moveToNext());
}
return menuList;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我得到了表格最后一行的结果menuList,它在表格中有相同的行数.因此列表视图具有所有相同的项目.
我在rawquery中使用WHERE子句从SQLite数据库中检索数据,如下所示:
public Cursor Return_SMS(String contact_no)
{
SQLiteDatabase db=this.getReadableDatabase();
//String[] params=new String[]{contact_no};
Cursor c=db.rawQuery("SELECT * FROM "+ "SMS_TABLE_RCV"+" WHERE "+ "Phone_number " + " = " + contact_no,null);
return c;
}
Run Code Online (Sandbox Code Playgroud)
但是没有检索到数据.如何使用Phone_number获取的数据等于我从游标中的Activity传递为"contact_no"的值?
我试图从SQLite数据库中检索一个值.当我使用以下内容时,我的查询工作正常:
String selectQuery = "SELECT * FROM savedlocation WHERE latitude="+lat;
Run Code Online (Sandbox Code Playgroud)
但是当我使用以下查询时,它不起作用:
String selectQuery = "SELECT * FROM savedlocation WHERE latitude="+lat+"AND longitude="+lon;
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这个查询有什么问题?
我知道在SQLite中有一个转储所有表(到文件"createDBTablesScript.sql")的功能:
sqlite> .output createDBTablesScript.sql
sqlite> .dump
sqlite> .quit
Run Code Online (Sandbox Code Playgroud)
有没有办法在QT中这样做?这样的东西(!这不工作!):
QString queryString(".output createDBTablesScript.sql .dump");
QSqlQuery query( m_db );
bool checkQueryExcecution = query.exec( queryString );
Run Code Online (Sandbox Code Playgroud)
之后我也想从QT运行脚本,例如:
QString createDBTablesScriptString("run createDBTablesScript.sql");
QSqlQuery query( m_db );
bool checkQueryExcecution = query.exec( createDBTablesScriptString );
Run Code Online (Sandbox Code Playgroud) 在Android中,我很难找到以下查询的问题.编码似乎是正确的.我正在尝试以下代码段:
DATABASE_TABLES.add("CREATE TABLE PageRights("
+"RightsId INTEGER NOT NULL,"
+"PageName varchar(-1) NULL,"
+"PageId INTEGER NOT NULL,"
+"UserId INTEGER NOT NULL,"
+"RoleId INTEGER NOT NULL,"
+"Add BOOLEAN NOT NULL,"
+"Edit BOOLEAN NULL,"
+"Delete BOOLEAN NULL,"
+"CreatedBy varchar(-1) NULL,"
+"CreatedDate DATE NOT NULL,"
+"Views BOOLEAN NULL)");
Run Code Online (Sandbox Code Playgroud)
抛出的错误是;
android.database.sqlite.SQLiteException: near "Add": syntax error (code 1): , while compiling: CREATE TABLE PageRights(RightsId INTEGER NOT NULL,PageName varchar(-1) NULL,PageId INTEGER NOT NULL,UserId INTEGER NOT NULL,RoleId INTEGER NOT NULL,Add BOOLEAN NOT NULL,Edit BOOLEAN NULL,Delete BOOLEAN NULL,CreatedBy varchar(-1) NULL,CreatedDate …Run Code Online (Sandbox Code Playgroud) 大家好我在数据库处理程序类中有这个方法,这个类的作用是从product表中返回产品的ID.但是,我收到这个sqliteexception,我不知道为什么.请指教谢谢.
private static final String TABLE_PRODUCT = "product"
private static final String KEY_PRODUCTNAME = "productname";
public String getProductId(String productName) {
String selectQuery = "SELECT productid FROM " + TABLE_PRODUCT+ " WHERE " +KEY_PRODUCTNAME +" = " + productName;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
String productid = cursor.toString();
cursor.close();
db.close();
return productid;
}
Run Code Online (Sandbox Code Playgroud)
错误:
E/AndroidRuntime(1884): FATAL EXCEPTION: main
E/AndroidRuntime(1884): android.database.sqlite.SQLiteException: unrecognized token: "Bluedress34.50" (code 1): , while compiling: SELECT productid FROM product WHERE productname = "Bluedress34.50"
Run Code Online (Sandbox Code Playgroud)
我的活动课: …