标签: sqlite

用于检查SQLite3中是否存在行的有效查询

这是检查表中是否存在行的最佳(最有效)方法吗?

SELECT EXISTS(SELECT 1 FROM myTbl WHERE u_tag="tag");
// Table is...
// CREATE TABLE myTbl(id INT PRIMARY KEY, u_tag TEXT);
Run Code Online (Sandbox Code Playgroud)

还有什么是返回值,是假(bool)还是0(int)还是NULL?

sqlite

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

我应该何时在另一个线程(而不是主线程)上执行某些SQLite操作?

我的Android应用程序包含一个SQLite数据库,其中包含一个SQLiteOpenHelper可帮助管理它的类.在应用程序使用期间,用户可以在数据库上执行一些操作,例如添加/删除/更新等.

在某些点上,操作的大小将是已知的,如下所示:

  1. 用户单击按钮以保存项目
  2. SQLiteDatabase执行单个insert查询
  3. 用户继续使用app

在应用程序的其他区域,操作可能很大,例如一次将10多个项目插入数据库.

问题:

  • 我应该插入简单的操作,如插入/更新/删除/查看1项?
  • 是否需要更长时间才能将1个项目插入包含许多项目(如30+)的表格中,而不是插入没有项目的表格所需的项目?
  • 如果我不需要编写这样简单的操作,你在什么时候建议我开始线程化?

当我说线程我的意思是使用一个不是主UI线程的线程.

编辑:我意识到小操作不需要花费太多时间,我可以很好地在主线程上完成它们.我只是担心在主线程上执行它们并且想要澄清是不好的做法!

sqlite android

42
推荐指数
2
解决办法
9774
查看次数

SQLite数据库存储在磁盘上的哪个位置?

SQLite数据库存储在哪里,即创建时Windows 7上的目录路径?

sqlite

42
推荐指数
5
解决办法
9万
查看次数

Ruby:SQLite3 :: BusyException:数据库被锁定:

今晚开发时遇到此错误消息: SQLite3::BusyException: database is locked:

我有两个型号:

  • 播客有许多曲目
  • 曲目属于播客.
  • 播客文件托管在mixcloud上.

要创建播客:

  • 用户在mixcloud上提交播客的网址
  • rails app抓取与url关联的json feed
  • json用于在新的Podcast对象上设置属性(标题,图像等)

我正在尝试使用我的rails应用程序来利用json feed还详细说明属于此Podcast的曲目的名称(和艺术家)这一事实.

我认为以下before_validation方法会在我们创建新的Podcast时自动创建所有关联的Tracks.

class Podcast < ActiveRecord::Base
  attr_accessible :mixcloud_url, :lots, :of, :other, :attrs
  has_many :tracks    
  before_validation :create_tracks
  def create_tracks
    json = Hashie::Mash.new HTTParty.get(self.json_url)    
    json.sections.each do |section|
      if section.section_type=="track"
          Track.create(:name=>section.track.name, :podcast_id=>self.id)
      end
    end             
  end
end
Run Code Online (Sandbox Code Playgroud)

我怎么能绕过这个?看起来rails(或sqlite3)不喜欢以这种方式创建关联模型的新实例.我怎么能这样做?我怀疑这是一个像sqlite3一样的rails问题.我可以发布更多代码,如果它会有所帮助.

sqlite ruby-on-rails

42
推荐指数
6
解决办法
4万
查看次数

从SQLite获取所有行

我一直在尝试从SQLite数据库中获取所有行.但是我从下面的代码中得到了最后一行.

FileChooser类:

public ArrayList<String> readFileFromSQLite() {

  fileName = new ArrayList<String>();

  fileSQLiteAdapter = new FileSQLiteAdapter(FileChooser.this);
  fileSQLiteAdapter.openToRead();
  cursor = fileSQLiteAdapter.queueAll();

  if (cursor != null) {
    if (cursor.moveToFirst()) {
      do {
        fileName.add(cursor.getString(cursor.getColumnIndex(FileSQLiteAdapter.KEY_CONTENT1)));
      } while (cursor.moveToNext());

    }
    cursor.close();
  }

  fileSQLiteAdapter.close();
  return fileName;
}
Run Code Online (Sandbox Code Playgroud)

FileSQLiteAdapter类:

public Cursor queueAll() {
  String[] columns = new String[] { KEY_ID, KEY_CONTENT1 };

  Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, null,
                null, null, null, null);
  return cursor;
}
Run Code Online (Sandbox Code Playgroud)

请告诉我,我的错误在哪里.欣赏.

sqlite android

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

SQL标准对反引号(`)的使用有何看法?

一旦我花了几个小时调试一个简单的SQL查询mysql_query(),PHP/MySQL只是为了意识到我错过了关于表名的bactick.从那时起,我一直在使用表名.

但是当我使用相同SQLite/C++的符号时,符号甚至无法识别.令人困惑的是,是否使用这个?标准对使用它有什么看法?

此外,如果有人能告诉我何时使用报价,何时不能报价,将会有所帮助.我的意思是值和字段名称.

sql sqlite standards

42
推荐指数
1
解决办法
9329
查看次数

Hibernate是否完全支持SQLite

Jboss Hibernate对SQLite的支持没有任何说明 -

https://community.jboss.org/wiki/SupportedDatabases2

同样在下面提到SO:

休眠+ SQLite的+ Netbeans的

能否请你强调一下这个.我想将嵌入式SQLite与hibernate一起用于swing桌面应用程序.

我也在评估Derby(JavaDB),因为它也可以嵌入并且是jdk的一部分.

java sqlite hibernate

42
推荐指数
4
解决办法
6万
查看次数

System.Data.SQLite 1.0.91.0和EF6.0.2

有没有人在Visual Studio 201#中使用新的System.Data.SQLite 1.0.91.0与Entity Framework 6一起工作?如果你有,你是怎么做到的?

更新 - 2014年3月20日:System.Data.SQLite 1.0.92.0已经发布但我没有在VS2013中创建EDMX的运气:(我最终使用包管理器(因为EF6.#.#是新SQLite中的依赖项) NuGet包):

uninstall-package entityframework -force
Run Code Online (Sandbox Code Playgroud)

重新启动VS2013并打开旧版EF5以获取VS2013以从现有数据库生成EDMX:

install-package entityframework -version 5.0.0
Run Code Online (Sandbox Code Playgroud)

注意:这不是一个复杂的多表SQLite关系数据库测试,所以如果我使用多个导航(FK)关系的任何东西,我不确定会出现什么其他问题:/

回答EDMX /模型的答案:(更新 - 2014年3月2日)我找到了解决办法,但它不够一致,需要太多步骤才能将其视为有效的解决方案.基本上:

  • 你制作所有的Class(es)文件,

  • 使用表建立与现有SQLite数据库的连接,

  • 修改web/app.config,如仍然出色的SQLite故障单(http://system.data.sqlite.org/index.html/tktview?name=7b8fd3ef77)中的mistachkin所述,包括伪造cdsl/.ssdl /.msl件,和

  • 然后在重建项目之前在Empty EDMX中手动创建Designer中的所有实体模型,然后......

  • 右键单击实体并选择"从数据库更新"...

有时EF/VS2013会添加.tt/DbContesxt,有时则不会.方式也'命中或错过':(

有和没有现有SQLite数据库的"Code First"的答案(基于PMCB,Drexter和Jimi的建议).但请注意,您无法在Visual Studio 2013中自动生成任何EF模型或EDMX文件[原文如此 - 概念架构定义语言(.CSDL),存储架构定义语言(.SSDL)和映射规范语言(.MSL)].我做了不要尝试手动创建EDMX文件以查看它们是否适合EF,即使我这样做,在我看来,做所有手动创建/映射/更改/ XML编辑都会破坏基于实体的框架的整个目的/概念...

<connectionStrings>
    <add name="DogsContext" connectionString="Data Source=|DataDirectory|\dogs.s3db;" providerName="System.Data.SQLite" />
</connectionStrings>
<entityFramework>
    <providers>
       <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6, Version=1.0.91.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </providers>
</entityFramework>
<system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.91.0, …
Run Code Online (Sandbox Code Playgroud)

c# sqlite entity-framework

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

PhoneGap上的Angularjs/Javascript应用程序的最佳数据持久性?

我希望在PhoneGap应用程序上找到Angularjs数据持久性的最佳实践.我正在使用Ionic Framework,但与此问题无关,因为它只是建立在Angular&Cordova之上.

我喜欢Angular在数据持久性解决方案上保持灵活性,因为它是一个Web框架,而不是一个混合应用程序框架,所以很有意义...我想知道人们如何解决这个问题.

这是一个概述:

要求

  • 将本地数据库添加到app build以获取预加载的数据.这将超过5MB的数据限制.
  • 在启动时从本地数据库加载数据.
  • 将更新的数据保存到本地数据存储以保持持久性.
  • 如果可能,更喜欢无模式.
  • 简单的查询界面.我可以将所有数据加载到内存中,只需使用标准的Angular过滤器,只要性能良好.
  • 对象查询接口......类似于类似ActiveRecord的ORM,而不是必须在我的应用程序中编写SQL.
  • 未来证明.每次我构建需要数据持久性的应用程序时,我都不想重新发明轮子.如果可能的话,也想选择更标准的东西,以便将来继续使用它......像Indexeddb这样的东西在这里会有意义.

选项

我一直在寻找以下选项.你能提供任何反馈意见吗?

  • Breezejs - 看起来更专注于服务器.有SQLite接口吗?
  • YDN-DB - 看起来像一个选项,但与其他一些选项相比似乎有点模糊.
  • JayData - 这还活跃吗?关注它的商业方面.
  • Persistencejs - 看起来很有希望.该项目仍然有效吗?
  • ngStorage - 这只是一个localStorage界面吗?它是否解决了5M的限制?
  • Angular-cache - 我可以预先加载数据吗?我能坚持多久数据?
  • localForage - 对此不太了解.它是否解决了5M的限制?
  • Pouchdb - 关注查询语言.不解决5M限制
  • Couchdb Lite - 关注查询语言.
  • WebSQL - 我不会使用它,因为它似乎正在出路..加上5M限制.
  • Indexeddb - 有一个垫片可以为大多数主流浏览器构建compat层.5M限制.如果我可以在Sqlite之上使用它,那么自从更多基于标准以来,这对我来说可能是一个胜利者.
  • 存储在json文件中 - 只需使用普通旧对象,然后使用Phonegap文件api加载和存储序列化数据.似乎每次我们想要保存时都必须序列化所有数据是一种痛苦......但只要我可以使用Angular过滤器就可以选择.

对不起,很长的帖子.我真的希望看到一些关于最佳实践的想法.喜欢Angular Way来处理Hybrid移动应用程序上的大数据持久性.

谢谢

javascript sqlite persistence angularjs cordova

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

在System.Data.SQLite中创建/使用用户定义的函数?

用户定义的函数和整理顺序完全支持用户定义的函数和整理顺序意味着在许多情况下,如果SQLite没有特性,您可以用自己喜欢的.NET语言自己编写.编写UDF和整理序列从未如此简单

我在这里找到的C#SQLite ADO.NET提供程序上发现了这一点,并且在理解有关如何实现/使用用户定义函数的文档时遇到了问题.

任何人都可以解释如何,或为这个失去的新手提供任何工作的例子?

c# sqlite system.data.sqlite

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