标签: sqlite

pysqlite2:ProgrammingError - 您不能使用8位字节串

我目前在sqlite数据库中持久存在文件名以用于我自己的目的.每当我尝试插入具有特殊字符的文件(如é等)时,它会抛出以下错误:

pysqlite2.dbapi2.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
Run Code Online (Sandbox Code Playgroud)

当我通过使用unicode方法将发送到pysqlite的值包装为"将我的应用程序切换到Unicode字符串"时unicode(filename),它会抛出此错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 66: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我有什么办法可以摆脱这个吗?修改我的所有文件以符合不是一个选项.

更新 如果我通过解码文本filename.decode("utf-8"),我仍然得到上面的ProgrammingError.

我的实际代码如下所示:

cursor.execute("select * from musiclibrary where absolutepath = ?;",
    [filename.decode("utf-8")])
Run Code Online (Sandbox Code Playgroud)

我的代码应该是什么样的?

python sqlite pysqlite

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

使用PRAGMA作为SQLite中的源来获取列名

问题:

我想做这个操作

select name from pragma table_info(my_awesome_table)

但是,它会产生语法错误.我有偷偷摸摸的怀疑这是可能的,但似乎没有记录在使用sqlite 的SELECT文档中可用.

sqlite metadata

13
推荐指数
1
解决办法
5044
查看次数

如何在SQLite中将datetime转换为日期格式?

我想在数据网格中以DD-MM-YYYY格式显示日期.默认情况下,SQLite以日期时间格式存储数据.那么如何使用SQLite将日期时间格式转换为flex中的日期格式?

sqlite

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

外键未被强制执行

为什么SQLite没有强制执行以下外键约束(尽管执行正常)?我该如何处理强制关系?

CREATE TABLE User (
    UserID TEXT Unique NOT NULL PRIMARY KEY,
    FirstName TEXT NOT NULL,
    LastName TEXT NOT NULL,
    Username TEXT NOT NULL,
    Password TEXT NOT NULL,
    Email TEXT NOT NULL,
    SignupDate TEXT NOT NULL
)

CREATE TABLE Category (
    CategoryID TEXT Unique NOT NULL PRIMARY KEY,
    UserID TEXT,
    FOREIGN KEY(UserID) REFERENCES User(UserID)
)
Run Code Online (Sandbox Code Playgroud)

sqlite google-gears

13
推荐指数
2
解决办法
2630
查看次数

SELECT count(*)FROM表中的Android SQLite游标超出范围异常

以下函数给了我一个超出范围的例外...

public void count(){
    SQLiteDatabase db = table.getWritableDatabase();
    String count = "SELECT count(*) FROM table";
    Cursor mcursor = db.rawQuery(count, null);
    int icount = mcursor.getInt(0);
    System.out.println("NUMBER IN DB: " + icount);
}
Run Code Online (Sandbox Code Playgroud)

它的意思是返回数据库中的行数.谁知道什么是错的?我也许以错误的方式完成这项任务?

java sqlite android

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

在SQLite3中存储货币值

我在我的应用程序中处理了许多不同的货币,我想知道将它们存储在SQLite3数据库中的"最佳"方法是什么.

我倾向于定点表示(即将它们存储为整数,其中$ 3.59存储为359,¥400存储为40000).这是一个好主意吗?如果我的输入数据后来改变并需要更高的精度怎么办?

sqlite currency

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

使用Python从.txt文件填充SQLite3数据库

我正在尝试在django中设置一个网站,该网站允许用户向包含有关其在欧洲议会中的代表的信息的数据库发送查询.我将数据放在逗号分隔的.txt文件中,格式如下:

议会,名称,国家,Party_Group,National_Party,职位

7,Marta Andreasen,英国,欧洲自由民主集团,英国独立党,成员

等等....

我想用这些数据填充一个SQLite3数据库,但到目前为止我发现的所有教程都只显示了如何手动执行此操作.由于我在文件中有736个观察结果,所以我真的不想这样做.

我怀疑这是一件简单的事情,但如果有人能告诉我如何做到这一点,我将非常感激.

托马斯

python sqlite django

13
推荐指数
1
解决办法
5809
查看次数

iPhone stringWithCString已弃用

我使用此代码从sqlite数据库中读取数据:

keyFromSql = [NSString stringWithCString:(char *)sqlite3_column_text(preparedStatement, 1)];
Run Code Online (Sandbox Code Playgroud)

但是编译器给了我在标题中写的警告......那么,从sqlite中检索值的正确而不是弃用的方法是什么?

谢谢!

sqlite string iphone cstring deprecated

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

使用Python将SQLite中的blob写入文件

一个无能的Python新手需要帮助.我混淆了创建一个简单的脚本,将二进制文件插入到SQLite数据库的博客字段中:

import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
input_note = raw_input(_(u'Note: '))
    input_type = 'A'
    input_file = raw_input(_(u'Enter path to file: '))
        with open(input_file, 'rb') as f:
            ablob = f.read()
            f.close()
        cursor.execute("INSERT INTO notes (note, file) VALUES('"+input_note+"', ?)", [buffer(ablob)])
        conn.commit()
    conn.close()
Run Code Online (Sandbox Code Playgroud)

现在我需要编写一个脚本来抓取特定记录的blob字段的内容,并将二进制blob写入文件.在我的例子中,我使用SQLite数据库来存储.odt文档,所以我想抓取它们并将它们保存为.odt文件.我该怎么做?谢谢!

python sql sqlite binary blob

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

SQLite3(或通用SQL)检索查询结果的第n行

关于SQLite3的快速问题(也可能是一般的SQLite)

如何检索查询结果的第n行?

row_id(或任何索引)对我的情况不起作用,因为表包含带数字的列.根据一些数据,查询需要未排序的数据或按asc/desc标准排序.

但我可能需要快速检索结果的第2行和第5行.

所以除了现在用计数器实现sqlite3_step()== SQLITE_ROW之外,我不知道如何继续这个.

由于性能问题,我不太喜欢这个解决方案.所以,如果有人可以提出一个值得高度赞赏的提示.

关心大卫

mysql sql sqlite

13
推荐指数
1
解决办法
7939
查看次数