问题标签 [sqlcedatareader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# SqlCeDataReader getValue of date 在同一个查询中返回不同的格式
我有以下代码
whenreader.GetValue(i)
是一个datetime
字段,有时返回,有时01/01/2014 0:00:00
返回01/01/2014 12:00:00 a.m.
为什么会这样?然后将字符串值用于哈希码,因此我对同一行有不同的哈希值。
sql-server-ce - 为什么这个 SqlCeCommand ExecuteReader 调用失败?
我从 Wigley 和 Wheelwright 的“Microsoft .NET Compact Framework”改编了下面的代码:
...所以我的代码是这样的:
我尝试访问的数据库位于手持设备的“我的文档”文件夹中,名为“HHSDB003.sdf”
我的第一个 MessageBox.Show() 显示了这一点:
...这确实是数据库所在的位置:
我的第二个 MessageBox.Show() 显示了这一点:
...还有这样一张桌子:
我看到“Made it to pt 1”但没有看到“Made it to pt 2”,所以它在调用 ExecuteReader() 时肯定失败了——但为什么?
这是我看到的错误消息:
我将 NETCFv35.Messages.EN.wm.cab 复制到手持设备上 .exe 所在的文件夹中,但它仍然显示与上面相同的错误消息。我是否需要将它放在其他地方或以某种方式安装/设置它?2 单击它没有做任何事情,只是向我显示其中的文件。
compactf SqlCeCommand ExecuteReader SqlCeConnection SqlCeDataReader windowsce c#
更新
根据我在这里阅读的内容,我将路径/文件名放在单引号中,如下所示:
...但它没有任何区别。
更新 2
根据答案,我将代码更改为:
...但是在看到“Made it to pt 1”后我得到了一个例外 - 我从来没有看到“Made it to pt 2”
从 catch 块显示的异常消息不显示任何内容/空字符串。
掌上电脑的 My Documents 文件夹中有一个名为 HHSDB003.SDF 的数据库,它确实包含一个名为 ~ 的表;那么我在这里还缺少什么?
更新 3
我将 catch 块更改为:
...现在将空引用异常视为内部异常。???
更新 4
因为我在这里看到“Made it to pt 1”:
...conn 和 qry 必须没问题;那么为什么在 conn 上调用 open 会导致 NRE?
更新 5
我添加了这段代码来查看 SqlCeConnection 的 Database 和 DataSource 属性的值:
...我看到:
Database 和 DataSource 真的应该是一回事吗?
更新 6
我可能已经与其他地方/以前建立的数据库建立了“实时”(全局)连接;这会导致第二个连接崩溃吗?
我知道 [,] 这是糟糕的设计,但现在“就是这样”
更新 7
我从来没有接受过公开赛的号召——它比乔治·布雷特(George Brett)的球拍上的松焦油炸得更热。这是代码的相关部分:
显示的消息框(在“在 conn.Open() 之前完成”之前)是:
然后我看到“将尝试打开”,然后是 NRE。
更新 8
下面不仅是代码本身,还有调用它的代码。这是一个可能的代码重入问题吗?SendInventoryData() 中的第二个 foreach 循环是否会调用 getDataAsXMLFromTable() 而之前对 getDataAsXMLFromTable() 的调用尚未完成?情况似乎并非如此,因为我从未见过“在 conn.Open() 之后成功”——甚至一次也没有。看来如果这是问题,我至少会看到一次......
注意:使用此代码,我看到:
HHSDB003.SDF 中确实存在 INV12262006091415
更新 9
我尝试将 getDataAsXMLFromTable() 包装在锁中:
那没有帮助;这也没有:
现在奖励100。
更新 10
请参阅此处的更新 3:如何绕过 SQL Server CE 数据库上的“80004005 存在文件共享冲突......”错误消息?
c# - 在 C# RadioButtons 上显示 SQL 信息
我的 C# 程序连接到我的 SQL CE 数据库。我使用 SQLCEDATAREADER 来填充程序中的一些文本框。我的数据库中有一个“性别”列和一个带有男性和女性的单选按钮。如果我数据库中的某个条目在性别列中有“M”,我怎样才能使男性单选按钮显示为按下?
我试过了
那显然没有用。
dataset - 在 Windows Mobile 6.5 中查询 SQL Server CE 数据库文件的最快方法是什么?
我.sdf
在 Windows 移动设备上有一个需要查询的大型数据库文件。该文件有 40,000 条记录。我正在尝试缩短执行查询所需的时间。目前大约是 8 秒,这对于用户等待结果来说是很长的时间。
起初我一直在使用DataSet
, 通过建立一个SqlCeConnection
连接到数据集的填充适配器。也尝试与 类似DataTable
,性能结果几乎相同。在大约 8 秒内使用DataSet
或完成查询。DataTable
我尝试的最后一件事就是使用Reader()
. 它给了我更好的结果,但只有半秒(查询在约 7.5 秒内完成)。
有什么想法可以让我更快吗?
c# - WinCE7 0xc0000005 执行阅读器上的本机异常
我正在使用具有 .net Compact Framework 3.5 和 SQL Server CE 3.5SP1 的 VS2008 SP1 在 WinCE7.0 上为 Motorola MC32N0 开发一个简单的应用程序。
每当我尝试从数据库中读取数据时,都会出现此错误。
projectName.exe 中发生本机异常。选择退出,然后重新启动此程序或选择详细信息以获取更多信息。
当我进入细节时,我得到了这个
异常代码:0xc0000005
异常地址:0xc0000000
读取:0xc0000000
在 NativeMethods.GetKeyInfo(IntPtrpTx,字符串 pwszBase 表,IntPtr prgDbKeyInfo,Int32 cDbKeyInfo,IntPtr pError)
在 SqlCeDataReader.FillMetaData(SqlCeDataReader 阅读器,Int32 结果类型). .
它继续。这是数据库读取代码
当它达到这一点command.ExecuteReader()
时,就会发生异常。
经过大量搜索后,有些人说这可能与 SQL Server CE 版本不匹配,但我该如何解决呢?部署应用程序时将一个文件复制到文件夹。如何检查它的版本或更改正在使用的 SQL Server CE 的版本?
c# - IINFORMATION_SCHEMA.KEY_COLUMN_USAGE Sql CE 的更新
添加/创建新索引后,如何确保更新 INFORMATION_SCHEMA.KEY_COLUMN_USAGE。IE:
我必须要数据库,一个是从旧版本 (V1)转换/更新到新版本 (V10),另一个是全新的 (V10)数据库。当我比较数据库时,所有匹配项(包括 PK、FK、索引等)除了:
我可以看到转换后的数据库中缺少我新创建的 uniq 索引([UK_Common.UserConnection] SessionId 和 UserId) 。与新 (V10) 数据库相比,转换后的数据库在“key_column_usage”表中的行数更少。
如果我从任何 sql ce 客户端应用程序中提取“创建 sql 表脚本”,则转换/更新和新 (V10) 脚本的脚本是相同的。
我试图在转换器中包含一个插入语句:
结果: 无法将数据添加到系统表或架构信息视图。[只读表的名称=@@INFORMATION_SCHEMA.KEY_COLUMN_USAGE]
我还尝试编写选择查询(rot to count key error)所在的旅馆.net。
结果: 无法将数据添加到系统表或架构信息视图。[只读表的名称=@@INFORMATION_SCHEMA.KEY_COLUMN_USAGE]
问题与 asp.net 项目中的失败单元测试 (mstest) 有关: Assert.IsTrue 失败。键列使用次数不同。
您如何更新:INFORMATION_SCHEMA.KEY_COLUMN_USAGE 编辑/更改 INDEX 后?
.NET 4.0 SQL CE 4.0 VS2010
sql - SqlCeDataReader.Read 很慢
我有一个 vb.net 应用程序,它从 SQL Server CE 数据库中的两个表中调用大量数据(大约 65,000 行)。
代码非常简单:
到目前为止,该reader.read
语句的执行时间最长。读取和处理这 65,000 行大约需要 2 个小时,我估计其中大约 60-70% 来自reader.read
语句中的滞后。
有没有办法加快这个速度?
编辑:
我做了一些时间测量,该reader.read
语句花费的时间(平均而言)比我读取、格式化等的代码块长 150 倍。
c# - 如何连接到本地 sdf 文件?
我正在创建一个简单的 Windows C# 表单应用程序。但我无法连接到本地数据库文件(.sdf)
我在用着
这是我的 app.config 文件
我正在尝试通过以下代码连接数据库文件。
即使我使用ConnectionString1
或者ConnectionString2
它总是在尝试创建connectionString时跳转到catch块。
请帮我找出这段代码的错误。
c# - 在 Sql Server CE 中插入数据的最快方法
我一直在为我的产品开发C# Compact Framework 4.0。
我有一台服务器和一部手机,我必须将服务器上的所有数据同步到我的移动设备。
通常大约 6000 个条目将被插入到我的移动设备中的单个表中。
现在我直接使用带有指定表的索引名称的表。
6000 个条目大约需要 55 秒。
有没有更快的插入方式??
c# - 如何使用一个组合框在 C# 中使用本地数据库过滤另一个组合框的结果
我花了很多时间在互联网上搜索答案,但什么都想不出来。基本上我有一个非常小的数据库,总共包含 5 个表。我现在的问题只涉及其中两个。我有一个名为 Model 的表(是的,我知道我在命名此表时做得不好。很快就会尝试重命名它)。这是模型的样子。 型号表
Make ID 是指 Makes 表中的唯一 ID。这是表 Make 的样子。 做表
我有一个使用 Visual Studios 2012 在 C# 中创建的 Windows 窗体应用程序。该数据库是在该项目中创建的。我有一个表格,其中包括两个组合框。第一个列出了 Makes 表中的信息。它显示了 3 个不同的汽车品牌。第二个组合框显示了与另一个表不同的模型。我可以得到第一个组合框来显示所有品牌。我可以获得第二个组合框来显示所有模型。但我想要的是,如果他们在第一个框中选择福特,它只会在第二个框中显示福特。当他们在第一个框中选择 Ford 时,我需要以某种方式存储与 Ford 关联的唯一 ID,然后通过引用 Model 表中的 Make ID 列来使用它来过滤第二个框。我已在 Access 中完成此操作,但无法在此处使用。这是我的代码
这很好地填充了第一个框。我在下拉框中看到福特、雪佛兰、道奇。但是,如果我在第二个盒子上尝试这个,它就行不通了。
我在这行收到一个错误,while (modelRead.read())
它说缺少一个参数。
任何人都可以帮助我或指出我正确的方向。这是我第一次搞砸这个,所以我可能做错了一切。