Tag: sql server ce

从DataTable批量插入到SQLCE DataSource

这是一个使用SQL CE作为DataSource的C#WPF应用程序: 我有一个DataTable(显示为DataGrid)和一个SQL CE DataSource。 我使用DataAdapter,DataSet和DataTable从SQL CE填充我的DataTable。 然后将我的DataGrid绑定到DataTable。 我可以在我的DataTable中添加行(> 10,000)行,并且可以在将所有更改一起传播到我的Sql CE DataSource之前编辑数据。 我当前的方法是DROP TABLE,CREATE TABLE,并通过暴力重新插入行到SQLCE。 SQL CE没有批量插入,我不想使用第三个库或DLL。 表现很慢…… 我正在寻找或更快的“批量插入”方式,而无需逐个删除,创建和插入行。 我读了一些关于SqlCeResultSet的内容,但我找不到任何文档,并且想知道它与我正在尝试做的事情有什么关系。 [编辑] 在回答并检查之后: http://ruudvanderlinden.com/2010/10/13/bulk-insert-into-sql-ce-in-c/ 我试图使用该function,但似乎没有用。 以下是我的代码。 Footable是我的数据库表,我有两列 – “id”和“FooName”。 Hashtable idHash = new Hashtable(); Hashtable fooNameHash = new Hashtable(); foreach(DataRow row in dt.Rows) { idHash.Add(“id”,row[“id”]); fooNameHash.Add(“FooName”,row[“FooName”]); } List colHashList = new List(); colHashList.Add(idHash); colHashList.Add(fooNameHash); BulkInsertDatabase(colHashList, “FooTable”); […]

将C#连接到SQL Server Compact数据库

嗨,我正在尝试将SQL服务器压缩数据库连接到我的程序,我想要一个删除数据库中所有条目的按钮,当我按下该按钮时程序抛出exception并给出以下错误消息“网络相关或建立与SQL Server的连接时发生特定于实例的错误。找不到服务器或无法访问服务器。validation实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误: 26 – 找到指定的服务器/实例时出错“” 请帮忙? =] 对不起,代码在下面=] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Data.SqlServerCe; namespace Booking_system_Final { public partial class PendingJobs : Form { SqlConnection sc = new SqlConnection(“Data Source=C:\\Users\\Administrator\\My Documents\\BMS_Data.sdf”); public PendingJobs() { InitializeComponent(); } private void PendingJobs_Load(object sender, […]

使用新的架构更改更新LinqtoSql数据库?

我有一个已发布到市场的Windows Phone 7应用程序。 我正在使用带有LinqToSql的Sql CE。 当应用程序运行时,它会检查连接字符串中是否存在数据库,并创建它是否不存在。 using (CheckbookDataContext db = new CheckbookDataContext(DBConnectionString)) { if (!db.DatabaseExists()) { isNewLoad = true; db.CreateDatabase(); } } 在我开始规划新function时,我预见到数据库模式的一些更改,无论是向现有表添加新列,添加新表等。 如何更新现有数据库? 现在数据库已经存在,我是否必须为调整手动执行ALTER和CREATE表语句?

如何将DateTimeKind.Unspecified类型的DateTime转换为C#(.NET)中的DateTime.Kind.Utc

我inheritance了C#代码,它有很多DateTimes,其中Kind属性是DateTimeKind.Unspecified。 它们被送入Datetime.ToUniversalTime(),它返回一个UTC日期时间(在我的情况下它增加了7个小时)。 这就是ToUniversalTime()的工作原理; 见MSDN。 问题是这些DateTime实际上已经是UTC时间。 它们被从SQL Server Compact 4.0数据库中取出。 它们以UTC格式存储在那里。 我的主要问题是: 如何修改DateTime的Kind属性,使其为UTC而非Unspecified? 我不想改变时间或日期。 因此,例如,2013年4月1日上午9:05,其Kind属性为“未指定”的日期应该成为2013年4月1日,UTC时间9:05的日期时间。 如果我可以沉迷于后续问题,那将是: 是否必须将值从Sql Server Compact返回为“未指定”? 在Sql Server Compact中,它们被存储为类型(datetime,而不是null)。 看一下代码,看起来它们只是放在数据库中,但没有规定将它们标记为UTC或任何东西。 处理事情有更好的方法吗? 是否有一种灵活的方法来确保Date Compacts以SQL Compact作为UTC? 如果我能提供更多详细信息,请通知我。 我是这个代码库的新手,仍然让我的大脑围绕它,所以我很难完美地描述这个问题。 戴夫

C# – ExecuteNonQuery()不能与SQL Server CE一起使用

我得到了一些应该添加到数据库文件(.sdf)的用户输入的数据。 我选择了Sql Server CE,因为这个应用程序非常小,我没有看到需要使用基于服务的数据库。 好吧,无论如何。 这里是代码: public class SqlActions { string conStr = String.Format(“Data Source = ” + new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + “\\basedados.sdf”); public SqlCeConnection SQLCEConnect() { SqlCeConnection Connection = new SqlCeConnection(conStr); Connection.Open(); return Connection; } public Boolean AdicionarAuditorio(string Nome, int Capacidade) { string Query = “INSERT INTO auditorios (nome, capacidade) VALUES (@Nome, @Capacidade)”; using (var […]

如果我们使用具有代码优先方法的Entity框架,是否可以在给定路径上创建数据库(Sql Server compact)?

我对Entity框架有点困惑,我想使用代码优先方法; 事实上,我想写一下我的数据库表是如何通过类定义组成的。 主要的问题是我需要创建一个数据库(或打开它),通过选择它的路径(用户可以选择打开哪个数据库,并可以根据需要创建新的数据库)。 我已经选择了Sql server compact来实现这一点,但是我仍然不明白如何使用代码优先方法来处理这种情况,因为我不明白如何选择应该使用代码优先方法创建数据库的位置,如果是可能。 任何人都可以解释我做错了什么,并建议一个不同的路线,如果有的话? 谢谢

C# – 从连接字符串获取文件路径

C#中是否有现有方法从表示ConnectionString的字符串中提取文件路径到SqlCE .sdf文件? 我想检查文件是否在初始化时存在,如果文件已被修改则备份它。 示例连接字符串: strConn = “Data Source=|DataDirectory|\dbAlias.sdf”;

将.sdf数据库转换为.mdf数据库

我有这个SQL Server CE数据库(有更多的表和数据),我想将其转换为SQL 2008,因为我想在Server中使用它(应用程序需要很多人使用)。 我正在使用SQL 2008 express和C#。 请建议我如何做到这一点。

EF6 / SQL Server Compact,基于代码的配置

我正在尝试将我的myexe.exe.config配置从myexe.exe.config移动到代码,作为empty DbProviderFactories node in machine.config -issue empty DbProviderFactories node in machine.config的解决方法(此处描述: https ://stackoverflow.com/a/24273922/600559)。 我不想更改machine.config文件。 我已经阅读了基于代码的配置(EF6以后) 。 我尝试过这样的实现: https : //stackoverflow.com/a/23130602/600559 ,但我无法让它工作。 有没有人有一个有效的EF6 / SQL CE /基于代码的配置解决方案? 这是我的更改(从工作的.config解决方案到基于代码的解决方案):添加了新类: public class DatabaseConfiguration : DbConfiguration { public DatabaseConfiguration() { SetExecutionStrategy(“System.Data.SqlServerCe.4.0”, () => new DefaultExecutionStrategy()); SetProviderFactory(“System.Data.SqlServerCe.4.0”, new SqlCeProviderFactory()); SetProviderServices(“System.Data.SqlServerCe.4.0”, SqlCeProviderServices.Instance); } } 然后删除.config文件中的system.data和entityFramework节点。 现在这个工作,但是读取了machine.config文件:如果在machine.config有 ,我会得到以下exception: 所以真正的问题不是基于代码的配置不起作用,问题是仍在读取machine.config配置并导致问题。 谁知道怎么解决这个问题?

在visual studio中执行查询时出错

我创建了数据库,如服务器浏览器 / 数据连接 / 添加连接 。 Microsoft SQL Server Compact 3.5(.NET Framework)使用创建并创建自己的MyDatabes.sdf文件。 现在在服务器浏览器中右键单击我的数据库—并单击新查询 。 试试这个: Create table [student] ( [student_id] Bigint NOT NULL, [bornnumber] Varchar(10) NOT NULL, [branch] Integer NOT NULL, [specialization] Integer NOT NULL, [year] Smallint NULL, [studygroup] Varchar(5) NOT NULL, [started] Datetime NULL, [finished] Datetime NULL, [status] Char(1) NULL, Primary Key ([student_id]) ) […]