标签: sqlite

无法从SQLite iPhone中删除记录

当我在iPhone模拟器中运行此代码时,我无法从DB中删除记录.如果我在SQLite DB Browser中运行此查询,则效果很好.这是我的代码

SQLiteDB *sqliteConnect=[[SQLiteDB alloc] init];
sqlite3 *database;

if(sqlite3_open([sqliteConnect.databasePath UTF8String], &database)==SQLITE_OK)
{   
    sqlite3_stmt *compiledstatement;

    const char *sqlstmt="delete from searchHistory where id = (select min(id) from searchHistory) ";

    if(sqlite3_prepare_v2(database, sqlstmt, -1, &compiledstatement, NULL)==SQLITE_OK)
    {
        sqlite3_step(compiledstatement);

        if(SQLITE_DONE != sqlite3_step(compiledstatement))

            NSAssert1(0,@"Error while creating delete statement => %s",sqlite3_errmsg(database) );
    }
    NSLog(@"delete DONE");
    sqlite3_finalize(compiledstatement);
}
sqlite3_close(database);
Run Code Online (Sandbox Code Playgroud)

当我使用调试器运行时,我得到以下错误=>

2011-04-08 08:42:34.049 MyApp[1838:20b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error while creating delete statement => not an error'
Run Code Online (Sandbox Code Playgroud)

SQLiteDB是我的类,它包含init和checkAndCopyDB方法的逻辑.我的数据库被复制到文档目录中.其他DB操作工作正常.请帮我.谢谢

sqlite iphone delete-row

0
推荐指数
1
解决办法
1632
查看次数

SQLite表是否可以具有除主键之外的更多唯一字段?

我不想要复合主键.我想要的是另一个领域也必须是独一无二的.

sqlite unique-constraint

0
推荐指数
1
解决办法
237
查看次数

我如何知道何时更新数据库 - Android

嘿,我正在构建一个包含数据库的Android应用程序.我的问题是如何知道应用程序是否已更新?我的意思是,我知道当DATABASE_VERSION来自 - 时调用onUpgrade方法 -

public DataBaseHelper(Context context) {        
    super(context, DB_NAME, null, DATABASE_VERSION);
    this.myContext = context;
}
Run Code Online (Sandbox Code Playgroud)

低于应用程序的版本,但如何在更新后增加它,因此应用程序不会一直更新自己?

java sqlite android

0
推荐指数
1
解决办法
2537
查看次数

无法在SQLite数据库中插入数据

public static void main(String[] args) {
    try {
        Class.forName("org.sqlite.JDBC");  
        connection = DriverManager.getConnection("jdbc:sqlite:C:\\users\\tim\\airline\\flightschedule.db");  
        PreparedStatement statement = connection.prepareStatement("INSERT INTO flights (flightID,departure,arrival)VALUES(?,?,?)");
            statement.setInt(1,5);
            statement.setString(2,"David");
            statement.setString(3,"Ortiz");
            statement.executeUpdate();

    } catch (Exception e) {  
        e.printStackTrace();  
    } finally {  
        try {  
            resultSet.close();  
            statement.close();  
            connection.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }

}
Run Code Online (Sandbox Code Playgroud)

java sqlite

0
推荐指数
1
解决办法
1万
查看次数

如何在android中生成自动id(增量)?

我有一个android形式的orderid字段..现在我想添加一个数字以及orderid的内容,这样每次数字应该是增量方式..

例如,如果用户输入123在orderid然后我想在数据库中存储123100类似于下次运行我想在数据库中存储123101 ..等等...我将如何做到这一点

请帮助

sqlite android auto-increment

0
推荐指数
1
解决办法
2845
查看次数

将时间存储在数据库中

我是Android新手,我想存储时间并在sq lite数据库中检索时间.任何人都帮我解决问题.

sqlite android

0
推荐指数
1
解决办法
1378
查看次数

我可以打开但不准备SQL语句

返回代码sqlite3_prepare_v2是1 - 错误.可能有什么不对?

sqlite objective-c

0
推荐指数
1
解决办法
135
查看次数

Android如果其他条件错误

我不知道为什么以下的代码总是在虚假的情况下反驳.我比较的结果是用户在字符串变量'classNameGlobal'中输入的文本和来自DB查询的第二个结果,从而导致表的列中的字符串值.每当我运行控制开关到else条件不运行if部分-.-

请看一看.

String result[];
result = new String[cursor.getCount() - 1];
int i = 0;
while (cursor.moveToNext()) {
        result[i] = cursor.getString(cursor.getColumnIndex("name"));
        i++;
    }

 classNameGlobal = className.getText().toString().toUpperCase().trim();
Run Code Online (Sandbox Code Playgroud)

注意:如果上述代码是用onclick方法编写的,除了结果数组声明之外的所有代码.另外,我使用相同的方法将字符串存储在数据库中,即我将其转换为大写字母然后删除任何额外的空白区域!即使我从用户输入的字符串查询和解压缩结果.两者都是相同的.现在为什么我总是让这个其他部分运行而不是if部分-.-我用来比较数据库查询和用户输入字符串的结果的方法是:

 for (int b = 0; b < result.length; b++) {

                if (classNameGlobal == result[b]) {
                    Log.d(TAG, "Inside if condition now : " + result[b] + " \t" + classNameGlobal);

                    db.execSQL("drop table if exists " + classNameGlobal);

                    /* Deleting Code File */
                    this.deleteFile(classNameGlobal + ".txt");

                    Toast.makeText(
                            this,
                            classNameGlobal + " Database Dropped Successfully ",
                            Toast.LENGTH_SHORT).show(); …
Run Code Online (Sandbox Code Playgroud)

java sqlite android

0
推荐指数
1
解决办法
1708
查看次数

Honeycomb Actionbar SearchView

我正在开发一个需要在Actionbar中使用SearchView的Honeycomb应用程序,但我对实现它需要做什么感到困惑.

我不认为这些文档涵盖了Honeycomb的所有内容,看起来它只是针对Android的移动版本.

我一直在看这个页面:http://developer.android.com/guide/topics/search/adding-custom-suggestions.html

我的数据来自SQLite数据库,我已经有了搜索的数据库查询,所以这不是问题.

有帮助吗?

编辑: 嗯,看看我到这里的反馈,我可以看到我显然没有正确解释自己......但是不能做得更好.

sqlite android android-3.0-honeycomb android-actionbar

0
推荐指数
1
解决办法
2695
查看次数

从php脚本启用sqlite DB的外键约束

我试图从我的PHP脚本启用sqlite数据库的外键约束.

我试过了 :

shell_exec('sqlite ex.db');

shell_exec('PRAGMA foreign_keys = ON');

echo $isEnabled = shell_exec('PRAGMA foreign_keys');
Run Code Online (Sandbox Code Playgroud)

但我没有得到$isEnabled1.事实上,我没有得到任何输出.

谢谢.

php sqlite

0
推荐指数
1
解决办法
2256
查看次数