标签: sqlite

增加android/sqlite数据库中记录的值

我尝试在表中的行中增加整数键的值.然而,似乎没有任何事情发生.

db.rawQuery("UPDATE table SET key = key + 1 WHERE name=?", new String[] {name});
Run Code Online (Sandbox Code Playgroud)

但是,此代码工作正常(只需将密钥设置为硬编码值):

    ContentValues values = new ContentValues();
    values.put("key", 2);
    db.update("table", values, "name=?", new String[] {name});
Run Code Online (Sandbox Code Playgroud)

还试过'?' 而不只是?,但它只是导致运行时错误.

sqlite android

18
推荐指数
1
解决办法
9143
查看次数

在Python中序列化Sqlite3

为了充分利用并发性,SQLite3允许线程以三种方式访问​​同一连接:

  1. 单线程.在此模式下,所有互斥锁都被禁用,并且SQLite一次不能在多个线程中使用.
  2. 多线程.在这种模式下,只要在两个或多个线程中不同时使用单个数据库连接,SQLite就可以被多个线程安全地使用.
  3. 序列化.在序列化模式下,SQLite可以被多个线程安全地使用而没有任何限制.

有谁知道如何使用Python序列化连接.
Python具有"check_same_thread",允许在多线程和单线程之间切换; 但是,我无法知道如何将其序列化.

python sqlite concurrency multithreading

18
推荐指数
2
解决办法
7265
查看次数

在SQLite中获取数字的最低值?

我有一个SQLite数据库,其中包含一个表,其中包含保龄球中心的一些联赛球员的得分.我正在尝试获取每个玩家ID的分数列的平均值.这个问题是我只需要平均值的整个部分,它不应该四舍五入(例如:平均值168.99应该返回168,而不是169).

当试图在谷歌上找到这样的东西时,我只找到了SQL Server和其他一些解决方案,但不是SQLite,所以如果有人能帮我这个,我真的很感激!

到目前为止,我正在使用ROUND(AVG(s1.Score),2)并且我正在截断我的Java程序中的额外部分,该部分使用数据库将其转换为String,删除不需要的部分,然后将其转换为一个整数,但如果可能的话,我宁愿在SQL中全部完成.

sql sqlite floor

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

在SQLite中使用AND和OR

我想在android中使用SQLite访问记录rawQuery(query,arg).我在数据库中有两列被调用friendsID,第二列被调用emailSenderID.

现在,如果我发送邮件给我的朋友 - emailSenderID列将保存我的ID和friendsID-column保存我朋友的ID.如果我收到来自同一个朋友的电子邮件,那么friendsID-column将保存我的ID,emailSenderID-column将保存我朋友的ID.

现在,如果我想获取这样的记录:

Select * from emailTable where friendsID =fID 
and emailSenderID=fID 
OR emailSenderID=myID
Run Code Online (Sandbox Code Playgroud)

请指导我如何使用Android SQLite ANDOR操作符.

sqlite android

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

MySQL vs Firebird vs SQLite

我们将实施一个基于公司(非开源)的软件,我实在无法选择我将使用哪一个.我可以在这里看到它们之间的差异, 但是我需要更具体的信息,比如真的MySql对于非开源项目(基于这个博客)不是免费的,或者它们在部署中的比较如何?

编辑:我需要扩展我的问题.我们只是在现有项目中实现API.这将用作独立程序,但它是一个嵌入式系统项目,因此部署非常重要.我知道SQLite很容易部署,但我可以看到有一些缺点.你能否告诉我哪种情况可以根据这种情况更好地使用?

谢谢你们

mysql database sqlite firebird

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

SQLite连接中的新行字符\n

我知道,在某些编程语言中,如果您执行以下操作:

'This is on first line \n This is on second line'
Run Code Online (Sandbox Code Playgroud)

然后它会像这样正确显示:

This is on first line
This is on second line
Run Code Online (Sandbox Code Playgroud)

当我在SQLite数据库中连接一个字符串时

SELECT *, [FIELD1] || '\n'  || [FIELD2] from TABLE
Run Code Online (Sandbox Code Playgroud)

(其中[FIELD1] =这是在第一行[FIELD2] =这是在第二行)

它显示如下:

This is on first line \n This is on second line
Run Code Online (Sandbox Code Playgroud)

有没有理由不正确显示\n字符?

sqlite newline

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

Gem :: LoadError:为数据库适配器指定'sqlite3',但未加载gem

我正在尝试将我的应用程序推送到heroku但我收到此消息.

Gem::LoadError: Specified 'sqlite3' for database adaptor, but the gem is not loaded.
Run Code Online (Sandbox Code Playgroud)

但是我没有.我的database.yml文件中没有sqlite3

development:
  adapter: postgresql
  encoding: unicode
  database: blog_development
  pool: 5
  timeout: 5000
  host:  localhost

test:
  adapter: postgresql
  database: blog_test
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: blog_production
  pool: 5
  timeout: 5000
Run Code Online (Sandbox Code Playgroud)

我的适配器名称是psotgresql.我甚至自己打开了文件

cat database.yml
Run Code Online (Sandbox Code Playgroud)

我搜索了文件,但找不到postgresql.这是我的宝石文件

ruby '2.1.0'
gem 'rails', '4.1.1'

group :development, :test do
  gem 'pg', '0.17.1'
  gem 'rspec-rails', '3.0.1'
end

group :production do
  gem 'pg', '0.17.1'
  gem 'rails_12factor'
end

group :test do
  gem 'selenium-webdriver', '2.35.1' …
Run Code Online (Sandbox Code Playgroud)

ruby sqlite ruby-on-rails heroku

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

使用Spock和Robospock创建SQLite数据库的单元测试

spock-core:0.7-groovy-2.0
robospock:0.5.0
Android Studio 0.8.2
Fedora release 20 (Heisenbug)
Run Code Online (Sandbox Code Playgroud)

这是完整的解决方案.现在它成功编译并运行单元测试,目录结构与预览编辑相同.请随意评论任何看起来不正确的事情.

编辑解决方案=====

的build.gradle:

apply plugin: 'java'
apply plugin: 'groovy'

repositories {
    mavenCentral()

    maven {
        // Location of Android SDK for compiling otherwise get this error:
        /* Could not find com.android.support:support-v4:19.0.1.
           Required by:
           :testSQLite:unspecified > org.robospock:robospock:0.5.0 > org.robolectric:robolectric:2.3 */
        url "/home/steve/local/android-studio/sdk/extras/android/m2repository/"
    }
}

dependencies {
    // just compile so we can use the sqlite API
    compile 'com.google.android:android:4.1.1.4', {
        // Do not bring in dependencies
        transitive = false
    }

    testCompile 'org.codehaus.groovy:groovy:2.3.+'
    testCompile 'org.spockframework:spock-core:0.7-groovy-2.0' …
Run Code Online (Sandbox Code Playgroud)

java sqlite android unit-testing robospock

18
推荐指数
2
解决办法
2701
查看次数

如何在室内持久性库中插入图像?

我正在为我的android应用程序使用房间持久性库,现在我必须在我的数据库中插入图像.我成功地为原始数据类型定义了@Entity.并且还通过转换器类,我存储了所有对象,日期,时间.现在我必须存储Image.我无法理解我们如何定义列信息和实体以及我们如何插入数据以及从表中读取数据.

插入单行的数据的最大大小是多少?Android SQLite中一个字段中数据的最大和最小大小是多少?

sqlite android android-sqlite android-room

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

我如何调用SQLitePCL.Batteries.Init().?

我正在尝试为我的应用程序创建一个SQLite数据库,并遇到了这个错误.

System.Exception:'您需要调用SQLitePCL.raw.SetProvider().如果您正在使用捆绑包,则可以通过调用SQLitePCL.Batteries.Init()来完成.

我创建了一个简单的控制台应用程序,运行完全相同的代码进行创建,没有任何问题.代码看起来像这样!

using (var dataContext = new SampleDBContext())
{
    dataContext.Accounts.Add(new Account() { AccountName = name, AccountBalance = balance });
}


public class SampleDBContext : DbContext
{
    private static bool _created = false;
    public SampleDBContext()
    {
        if (!_created)
        {
            _created = true;
            Database.EnsureDeleted();
            Database.EnsureCreated();
        }
    }
    protected override void OnConfiguring(DbContextOptionsBuilder optionbuilder)
    {
        optionbuilder.UseSqlite(@"Data Source="Source folder"\Database.db");
    }

    public DbSet<Account> Accounts { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这个问题吗?我在两个项目上安装了相同的Nuget Packages,两者之间的唯一区别是数据源和我用于数据库的POCO类.

谢谢.

编辑 我的程序目前包含一个Console application引用a的程序.Net Framework Class Library.在Console application简单的有一个构造函数如下: …

c# sqlite entity-framework

18
推荐指数
5
解决办法
6105
查看次数