标签: sqlite

Android中的SQLite如何更新特定行

我一直在尝试更新特定的行一段时间,似乎有两种方法可以做到这一点.根据我的阅读和尝试,你可以使用:

execSQL(String sql) 方法

或者:

update(String table, ContentValues values, String whereClause, String[] whereArgs) 方法.

(让我知道这是不正确的,因为我是Android新手,对SQL很新.)

那么让我来看看我的实际代码.

myDB.update(TableName, "(Field1, Field2, Field3)" + " VALUES ('Bob', 19, 'Male')", "where _id = 1", null);
Run Code Online (Sandbox Code Playgroud)

我想完成这个:

更新Field1,Field2和Field3,其中主键(_id)等于1.

Eclipse在"更新"一词的下方给了我一条红线,并给出了我的解释:

SQLiteDatabase类型中的方法update(String,ContentValues,String,String [])不适用于参数(String,String,String,null)

我猜我没有正确分配ContentValues.谁能指出我正确的方向?

java sql eclipse sqlite android

131
推荐指数
8
解决办法
31万
查看次数

如何在Android设备上查看SQLite数据库?

我在SQLite数据库中有一组数据.我需要在设备上查看数据库.我怎么做?

我已经检查了ddms模式.文件资源管理器中的数据为空.

database sqlite android adb

125
推荐指数
8
解决办法
26万
查看次数

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

SQLite中的主键是否需要索引?

当一个整数列在SQLite表中被标记为主键时,是否应该为它显式创建索引?SQLite似乎不会自动为主键列创建索引,但考虑到其目的,它可能无论如何都要对其进行索引?(我会一直在搜索那个专栏).

对于字符串主键,情况会有所不同吗?

sqlite indexing primary-key

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

无法加载文件或程序集'System.Data.SQLite'

我在我的ASP.NET项目中安装了ELMAH 1.1 .Net 3.5 x64,现在我收到此错误(每当我尝试查看任何页面时):

无法加载文件或程序集'System.Data.SQLite,Version = 1.0.61.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'或其依赖项之一.尝试加载格式不正确的程序.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.BadImageFormatException:无法加载文件或程序集'System.Data.SQLite,Version = 1.0.61.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'或其依赖项之一.尝试加载格式不正确的程序.

底部有更多错误详情.

我的Active Solution平台是"任何CPU",我在x64上运行x64 Windows 7,当然还有处理器.我们使用这个版本的ELMAH的原因是因为1.0 .Net 3.5(x86,它是它编译的唯一平台)在我们的x64 Windows服务器上给了我们同样的错误.

我已经尝试编译x86和x64,我得到了同样的错误.我已经尝试删除所有编译器输出(bin和obj).最后我直接引用了SQLite dll,这是项目在服务器上工作所不需要的东西,我有这个编译错误:

错误1警告错误:程序集生成 - 引用程序集'System.Data.SQLite.dll'针对不同的处理器MyProject

任何想法可能是什么问题?

更多错误详情:

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[BadImageFormatException:无法加载文件或程序集'System.Data.SQLite,Version = 1.0.61.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'或其依赖项之一.一个试图加载程序使用不正确的格式.]
System.Reflection.Assembly._nLoad(的AssemblyName文件名,字符串的代码库,证据assemblySecurity,装配locationHint,StackCrawlMark&stackMark,布尔throwOnFileNotFound,布尔forIntrospection)0
System.Reflection.Assembly .nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,Assembly locationHint,StackCrawlMark&stackMark,Boolean throwOnFileNotFound,Boolean forIntrospection)+43
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,Evidence assemblySecurity,StackCrawlMark&stackMark,Boolean forIntrospection)+127 System. Reflection.Assembly.InternalLoad(字符串assemblyString,证据assemblySecurity,StackCrawlMark&stackMark,布尔forIntrospection)142 System.Reflection.Assembly.Load(字符串assemblyString)28
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串的AssemblyName,布尔starDirective)+ 46

[ConfigurationErrorsException:无法加载文件或程序集'System.Data.SQLite,Version = 1.0.61.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'或其依赖项之一.一个试图加载程序使用不正确的格式.]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串的AssemblyName,布尔starDirective)613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()203 System.Web.Configuration .CompilationSection.LoadAssembly(集信息AI)105个
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)178
System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath用configPath,布尔supportLocalization,字符串outputAssemblyName)54
的System.Web .Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)+232 …

.net sqlite elmah

123
推荐指数
8
解决办法
16万
查看次数

SQLite具有加密/密码保护

我只是学习使用SQLite,如果可能的话,我很好奇:

  1. 加密数据库文件?

  2. 密码保护数据库的开放?

PS.我知道有这个"SQLite加密扩展(SEE).",但根据文档,"SEE是许可软件...."和"SEE的永久源代码许可证的成本是2000美元."

sqlite encryption password-protection

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

在新的Rails项目中从SQLite更改为PostgreSQL

我有一个rails应用程序,其数据库在SQLite(开发和生产).由于我要转移到heroku,我想将我的数据库转换为PostgreSQL.

无论如何,我听说本地的开发数据库不需要从SQLite更改,所以我不需要改变它,但是,如何将生产环境从SQLite更改为PostgreSQL?

有没有人曾经这样做过,可以帮忙吗?

PS我不确定这个过程到底是什么,但我听说过将数据库从SQLite迁移到PostgreSQL,需要做什么?

database sqlite postgresql ruby-on-rails heroku

122
推荐指数
6
解决办法
7万
查看次数

如何在SQLite中拥有自动时间戳?

我有一个SQLite数据库,版本3,我使用C#创建一个使用此数据库的应用程序.

我想在表中使用timestamp字段进行并发,但我注意到当我插入新记录时,此字段未设置,并且为null.

例如,在MS SQL Server中,如果我使用时间戳字段,这由数据库更新,我不必自己设置.这在SQLite中可能吗?

c# sqlite timestamp

121
推荐指数
6
解决办法
14万
查看次数

为什么在查询sqlite数据库时需要创建游标?

我完全不熟悉Python的sqlite3模块(以及一般的SQL),这完全让我感到困惑.对cursor物体描述的充分缺乏(相反,它们的必要性)似乎也很奇怪.

这段代码是首选方式:

import sqlite3
conn = sqlite3.connect("db.sqlite")
c = conn.cursor()
c.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()
c.close()
Run Code Online (Sandbox Code Playgroud)

这个不是,即使它工作得很好而没有(看似毫无意义)cursor:

import sqlite3
conn = sqlite3.connect("db.sqlite")
conn.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么需要一个cursor
这看起来似乎毫无意义.对于我的脚本中访问数据库的每个方法,我应该创建并销毁一个cursor
为什么不直接使用该connection对象?

python sqlite cursor

120
推荐指数
5
解决办法
6万
查看次数

SQLiteDatabase.query方法

我正在使用SQLiteDatabase的查询方法.我如何使用查询方法?

我试过这个:

Cursor cursor = sqLiteDatabase.query(
    tableName, tableColumns, whereClause, whereArgs, groupBy, having, orderBy);
Run Code Online (Sandbox Code Playgroud)

tableColumns - columns参数构造如下.

String[] columns = new String[]{KEY_ID, KEY_CONTENT};
Run Code Online (Sandbox Code Playgroud)

如果我们需要获取所有字段,那么应该如何构造column参数.我们是否需要在String数组中包含所有字段名称?

如何正确使用查询方法?

sqlite android

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