标签: sql-server-ce

使用SQLCeResultSet更新/插入表

我有一个SQL Compact Edition数据库,我定期更新(通过Web服务).

我写入数据库的部分太长了.我目前正在使用Linq to Datasets(如本问题所示).我听说如果我使用SQLCeResultSet这样做会更快.

所以,鉴于我有一个这样的表:

tblClient
   +- CLIENT_ID      {Unique identifier} (Primary Key)
   +- CLIENT_NAME    {varchar (100)}
   +- CLIENT_ACTIVE  {bit}

我从我的Web服务获得的对象看起来像这样:

class Client
{
   public Guid ClientID { get; set; }
   public String ClientName { get; set; }
   public bool Active { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何将100个Client对象导入数据库?

更新现有行并插入数据库中尚未存在的行(由主键确定)?

任何示例代码都会很棒.我有SqlCeConnection,但没有别的.

谢谢你的帮助!

c# compact-framework windows-mobile linq-to-dataset sql-server-ce

8
推荐指数
1
解决办法
6686
查看次数

C#中的动态UI生成

我正在为图书馆设计一个应用程序.不是一个大型的图书馆,而是一个非常小规模的图书馆,我的主要任务是保存有关图书的信息.但是这个图书馆应用程序应该能够适应任何专业人士的私人图书馆.例如,对于律师而言,除了有关该书的基本信息(标题,作者,出版商等)之外,还可能存在与书籍相关联的其他特殊字段(案例编号,法院编号等).医生可能对书有一些其他特殊属性.其他职业也是如此.

所以我将使用一个SQL Server CE数据库,我希望有一个具有常用属性的BOOK表,并且可以根据需要改变表以满足特殊需求(添加更多列).

但我担心的是动态生成GUI以支持新属性.

有没有解决动态GUI生成的方法?

我不是要求完整的代码(显然我不会得到),但是如果你有任何编码来支持这种方法,请善于发布:)

有什么我应该知道的优点,缺点,死胡同,警告或警告等?

c# user-interface dynamic sql-server-ce

8
推荐指数
1
解决办法
8071
查看次数

如何使用SQL CE 4.0创建内存数据库?

如何使用SQL CE 4.0创建内存数据库?

上下文

我想用真实的数据库进行一些单元测试(或自动集成测试),然而,这是一个在内存中的数据库.这将使测试运行得更快,而且,一旦测试完成,数据库将在空气中消失.

根据Scott Guthrie的博客文章" VS 2010 SP1和SQL CE ",新的SQL CE 4.0能够做到这一点:提供内存数据库.

但是,我在网上找不到任何教程或代码示例,显示它是如何完成的.我在这篇博文中只发现了这个连接字符串示例.但这也击中了硬盘.

在此输入图像描述

c# sql-server-ce

8
推荐指数
1
解决办法
5175
查看次数

SQL CE 4.0作为InstallShield先决条件

我正在制作自己的prq文件,以便在安装WPF应用程序的情况下执行SQL CE 4.0安装.安装程序一直在失败,我不知道为什么.看起来它试图运行CE exe,但随后Windows Installer帮助窗口会出现所有这些命令行帮助选项.我单击确定,然后它说CE的安装失败.我不知道如何确定出了什么问题.

这是我的prq文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
    <condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0\ENU" FileName="DesktopRuntimeVersion" ReturnValue="4.0.8482.1"></condition>
</conditions>
<files>
    <file LocalFile="&lt;ISProductFolder&gt;\SetupPrerequisites\SSCERuntime_x86-ENU.exe" URL="http://www.microsoft.com/download/en/details.aspx?id=17876" FileSize="0,0"></file>
</files>
<execute file="SSCERuntime_x86-ENU.exe" cmdline="/passive /norestart" cmdlinesilent="/passive /norestart"></execute>
<properties Id="{F7BF54C1-CA2C-4410-98DB-480769CE6547}" Description="This prerequisite installs the Microsoft SQL Server Compact 4.0."></properties>
</SetupPrereq>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

windows-installer installshield sql-server-ce

8
推荐指数
1
解决办法
7153
查看次数

有没有人使用(或考虑使用)Sql Server Compact Edition?

我一直在准备提供有关SQL Server Compact Edition 3.5(SP1 - 最近发布)的演示文稿,我想知道是否有人设计(或考虑设计)具有SQL Server CE 3.5(或更早版本)的系统?

特别是,有没有人想过(或经历过)使用SQLCE作为离线数据存储的解决方案(作为连接系统设计的一部分)?

与其前辈相比,3.5版看起来相当丰富,是否已经准备好进行认真考虑(现在它支持LINQ to SQL,标识列和各种重要的T-SQL)?

如果你需要一个轻量级的低占用空间的基于文件的数据库(特别是如果它需要在移动设备和桌面系统上支持),或者有更好的选择,你会考虑使用它吗?

database sql-server windows-mobile sql-server-ce

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

在Sql Server CE中收缩还是压缩?

我正在使用Visual Studio 2008.我是sqlce的新手.我正在检查sdf文件,如果sdf不存在,我创建然后插入大约5000行到我的sqlce db.If sdf存在,首先我删除所有表的行然后将这些记录插入到现有的表中.插入完成后,我正在压缩数据库.顺便说一句,压缩持续大约13秒.我知道一个调用Shrink.Shrink和Compact的方法使db变小但是在这个scenerio中我应该使用哪个?如何在更短的时间内进行压缩?我不需要备份sdf和紧凑后,我删除旧的sdf.i阅读这个主题但无法决定我应该使用.

.net sql-server-ce

7
推荐指数
1
解决办法
4511
查看次数

我想要一个ORM吗?

我们在三个应用程序中使用了一个对象模型.两个程序收集数据,另一个程序读取数据并生成报告.系统非常断开连接,因此我们不能让所有程序都与单个数据库通信.

现在,程序只使用公共库来填充对象模型并序列化/反序列化到磁盘.具体来说,我们正在使用XML序列化.

这个模型有几个问题.1)XML可能被认为是浪费.文件可能变得庞大而且难以处理.老实说,文件大小现在不是一个大问题.2)我最关心的是记忆足印.将整个文件加载到对象模型中,对其进行操作,然后保存.

希望我已经表达了我的担心,在某些时候,我们将在运行时遇到此应用程序的内存问题.足够的数据将被收集到一个"数据库"(xml文件)中,无法一次性加载到内存中.

我想要的是访问由文件存储而不是内存支持的对象模型.我希望对象模型的更改最小化.访问对象时,它来自磁盘,当它被设置时,它被保存(如果可能的话,自动保存).

我们已经使用SQLite,SQL Compact 4.0和EF 4以及LINQ to XML(简要地)研究了NHibernate.我过去也使用db4o将对象缓存到磁盘,但这是一个不相关的项目.

在我潜入并花时间学习其中一个之前,我想知道我的想法是否有意义.我是否可以拥有一个"神奇地"缓存到存储介质的对象模型,而不是无限地膨胀我的内存占用?即使它不是最优雅的,最简单的方法是什么?

还有其他技术可以帮助我吗?内存映射文件,linq-to-sql,Lazy(T)(仅用于在需要时从文件中获取对象).

我意识到这是一个开放式的问题.我正在寻找一个大图片响应和细节,如果有人有真实的世界经验这样做.链接会有所帮助......

谢谢.

c# nhibernate orm linq-to-xml sql-server-ce

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

.NET MVC:如何在SQL CE的Code-First中定义ntext字段?

我有以下型号:

public class Blog
{
    public int BlogID { get; set; }
    public int CategoryID { get; set; }

    [MaxLength(70)]
    [Required]
    public string BlogTitle { get; set; }

    [Column(TypeName="ntext")]
    public string BlogContent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我已手动将字段设置为数据库中BlogContentntext类型(16字节)SQL CE4.

但是,每次我尝试插入超过4000个字符的文本时,都会出现以下错误:

一个或多个实体的验证失败.有关详细信息,请参阅"EntityValidationErrors"属性

我试过设置注释[Column(TypeName="ntext")],但这没有区别.当我循环EntityValidationErrors收集时,问题是由BlogContent错误引起的:

字符串不能超过4000个字符

如何定义我的模型以获得ntext字段BlogContent

似乎忽略了任何数据注释; 假设MaxLength默认情况下,no的字符串限制为4000个字符.

ntext code-first sql-server-ce

7
推荐指数
1
解决办法
5101
查看次数

Visual Studio C#和SQL Compact的基本入门(连接,选择,插入)?

我正在尝试用SQL CE学习C#,以便我的程序可以记住东西.

我创建了一个数据库,可以连接到它:

SqlCeConnection conn = 
         new SqlCeConnection(@"Data Source=|DataDirectory|\dbJournal.sdf");
conn.Open();
Run Code Online (Sandbox Code Playgroud)

并且它连接正确,我想因为如果我重命名dbJournal.sdf错误它不调试正确.

假设我想做一个简单的SELECT查询.

(SELECT * FROM tblJournal)
Run Code Online (Sandbox Code Playgroud)

怎么做的?

简单的插入怎么样?

(INSERT TO tblJournal (column1, column2, column2) VALUES 
                                        (value1, value2, value3))
Run Code Online (Sandbox Code Playgroud)

我习惯了PHP和MySQL(正如你可以看到的那样:o))

c# visual-studio-2010 sql-server-ce

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

将远程SQL Server数据库与本地SQL Server Compact数据库同步的最佳方法?

我意识到这是一个讨论很多的话题,但我看到的所有建议似乎都涉及直接访问SQL Server,在我们的实例中并不理想.

我们的场景是一个远程SQL Server数据库(例如)100个表.我们正在开发一个轻量级桌面应用程序,它将使用SQL Server Compact数据库并定期与远程服务器同步(例如)20个表的子集.

我想控制复制的发生方式,因为速度是我们的主要问题,因为远程服务器距离数千英里远.

此外,我不需要同步每个表中的所有记录 - 只有与每个用户相关的记录.

我非常喜欢SQL Merge工具,但它要求客户端连接到远程SQL Server.目前这是不可能的,我们正在考虑通过我们的应用程序或其他方法访问的Web服务与远程服务器连接.

欢迎任何建议.

UPDATE

只是为了澄清,互联网连接是间歇性的,这是我们需要同步这两个数据库的主要原因.

c# sql sql-server web-services sql-server-ce

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