标签: sqlite

将SQLite数据库添加到iPhone应用程序

我正在尝试学习SQLite,我正在构建一个iPhone应用程序.但是我想在我的构建应用程序中添加一个SQLite数据库.我有三个教程,但我不清楚该代码.

如何将SQLite数据库添加到我的构建应用程序?样本代码会是什么样的?

sqlite iphone cocoa-touch

23
推荐指数
3
解决办法
5万
查看次数

字符串文字中的Sqlite绑定

使用sqlite3,如果我的查询是

SELECT * FROM table WHERE title LIKE '%x%'

它将匹配包含的字符串x.我想创建x一个可绑定的参数,如:

SELECT * FROM table WHERE title LIKE '%x?%'

但是,这不起作用,因为''形成一个字符串文字.有没有办法逃避?文字内部?我知道我可以构建可绑定参数来包含%然后使用

SELECT * FROM table WHERE title LIKE ?

但是在处理SQL注入而不是绑定接口方面,这会将责任转移到我的代码中.这有更好的解决方案吗?

sql sqlite binding

23
推荐指数
1
解决办法
5656
查看次数

如何在SQLiteDatabase查询中测试游标是否为空

我有一个SQL表,它由以下代码创建:

public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID
        + " INTEGER PRIMARY KEY AUTOINCREMENT, " + SUBJECT
        + " TEXT NOT NULL," + TOPIC + " TEXT NOT NULL, "
        + LECTURENUMBER + " TEXT NOT NULL, " + PAGENUMBER
        + " TEXT NOT NULL, " + DATE + " TEXT NOT NULL, " + _DATA
        + " TEXT NOT NULL);");
}
Run Code Online (Sandbox Code Playgroud)

我查询表如下:

String sql = "SELECT " + _ID + "," …
Run Code Online (Sandbox Code Playgroud)

java database sqlite android cursor

23
推荐指数
2
解决办法
5万
查看次数

在Android中SQLite cursor.getCount是否昂贵

Android设备上执行SQLite cursor.getCount()是否是昂贵的操作?

哪个更快:

Cursor cursor = db.rawQuery(sql, null);
int length = cursor.getCount();
final List<Item> items = new ArrayList<Item>(length * 2); // need maybe 2 items per row

if (cursor.moveToFirst()) {

      // loop trough the query result
      do {
...
Run Code Online (Sandbox Code Playgroud)

要么

Cursor cursor = db.rawQuery(sql, null);
final List<Item> items = new ArrayList<Item>();  // capacity is 0 by default on android

if (cursor.moveToFirst()) {

      // loop trough the query result
      do {
Run Code Online (Sandbox Code Playgroud)

sqlite android

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

Rails 3.1.Heroku PGError:运算符不存在:字符变化=整数

修复错误有点麻烦.

一切都适用于本地机器.在PG上,heroku是错误的.

这是日志:

  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m ActionView::Template::Error (PGEr
  ror: ERROR:  operator does not exist: character varying = integer
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m LINE 1: ...T "reviews".* FROM "re
  views"  WHERE "reviews"."trip_id" = 32
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m : SELECT "reviews".* FROM "review
  s"  WHERE "reviews"."trip_id" = 32):
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m     31:   <div style='display:non
  e'>
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m     33:      <% for review in @tr
  ip.reviews %>
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m     34:
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m     32:    <div id="inline">
  ?[32m2012-01-09T19:52:24+00:00 app[web.1]:?[0m HINT:  No operator matches the gi
  ven name and argument type(s). You …
Run Code Online (Sandbox Code Playgroud)

sqlite postgresql ruby-on-rails heroku

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

sqlite3数据库的最大连接数是多少

sqlite3数据库的最大连接数是多少?

为什么我不能将它用于非常大的网站假设有300万用户?

database sqlite

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

Android SQLite查询 - 获取最新的10条记录

我在我的Android应用程序中保存了一个数据库,并希望检索插入数据库的最后10条消息.

我用的时候:

Select * from tblmessage DESC limit 10;
Run Code Online (Sandbox Code Playgroud)

它给了我10条消息,但来自TOP.但我想要最后 10条消息.可能吗?

假设整个表数据是 -

1,2,3,4,5....30
Run Code Online (Sandbox Code Playgroud)

我写了查询 select * from tblmessage where timestamp desc limit 10

表明 30,29,28...21

但我希望序列为 - 21,22,23...30

sql sqlite android android-sqlite

23
推荐指数
3
解决办法
4万
查看次数

模拟__init __()进行单元测试

我有一节课:

class DatabaseThing():
     def __init__(self, dbName, user, password):
          self.connection = ibm_db_dbi.connect(dbName, user, password)
Run Code Online (Sandbox Code Playgroud)

我想测试这个类但是测试数据库.所以在我的测试课中,我是这样的:

import sqlite3 as lite
import unittest
from DatabaseThing import *

class DatabaseThingTestCase(unittest.TestCase):

    def setUp(self):
        self.connection = lite.connect(":memory:")
        self.cur = self.connection.cursor()
        self.cur.executescript ('''CREATE TABLE APPLE (VERSION INT, AMNT SMALLINT);
            INSERT INTO APPLE VALUES(16,0);
            INSERT INTO APPLE VALUES(17,5);
            INSERT INTO APPLE VALUES(18,1);
            INSERT INTO APPLE VALUES(19,15);
            INSERT INTO APPLE VALUES(20,20);
            INSERT INTO APPLE VALUES(21,25);''')
Run Code Online (Sandbox Code Playgroud)

我将如何使用此连接而不是我要测试的类的连接?意味着使用连接setUp(self)而不是连接DatabaseThing.我无法在不实例化类的情况下测试函数.我想__init__在Test Class中以某种方式模拟该方法,但我没有找到任何在文档中看起来有用的东西.

python sqlite unit-testing mocking

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

如何选择每组的前N行?

我有两个这样的SQLite表:

 AuthorId | AuthorName
----------------------
 1        | Alice
 2        | Bob
 3        | Carol
 ...      | ....


 BookId | AuthorId | Title
----------------------------------
 1      | 1        | aaa1
 2      | 1        | aaa2
 3      | 1        | aaa3
 4      | 2        | ddd1
 5      | 2        | ddd2
 ...    | ...      | ...
 19     | 3        | fff1
 20     | 3        | fff2
 21     | 3        | fff3
 22     | 3        | fff4
Run Code Online (Sandbox Code Playgroud)

我想创建一个SELECT查询,它将返回每个AuthorId的前N行(例如两行),按Title排序("选择每个作者的前两本书").

样本输出:

 BookId |  AuthorId | AuthorName …
Run Code Online (Sandbox Code Playgroud)

sql sqlite greatest-n-per-group limit-per-group

23
推荐指数
2
解决办法
2万
查看次数

在SQLite表中使用文本作为主键不好?

将文本作为SQLite数据库中的主键是不是很糟糕?我听说性能原因不好,这是真的吗?在这种情况下,rowid是否会被用作实际的主键?

database sqlite android primary-key rowid

23
推荐指数
3
解决办法
2万
查看次数