Tag: sql server ce

C#和SQL Server CE:将定义符号(+或&)后的单词视为搜索中的单独单词

我正在开发一个基于C#和SQL Server CE 3.5的简单翻译应用程序 我有一个搜索文本框,通过textBox1.Text搜索数据库中的某些列,并使用正常的SQL查询[ SELECT.. LIKE ‘% %’ ] 我想要实现的目标: 我想在数据库中的所有位置搜索某些符号(例如+)之后的所有单词,因此它们不需要在完整的上下文中编写 (逐字逐句,因为它们存在于数据库中) ) 换句话说: 我想在某些符号之后拆分单词,以便程序独立搜索每个单词 (在符号之前搜索单词,在符号之后单独搜索每个单词) 示例:如果我尝试搜索“举证责任”的值,我将在之前的上下文中编写它,但对于用户来说,这将不适用。 所以我希望他在他愿意寻找的两个词之间放一个符号(即他应该搜索“负担+证据”) 图1: http : //i.imgur.com/sd5Y5B7.jpg ,图2: http : //i.imgur.com/gVj41xP.jpg 编辑 – 我的搜索按钮代码: sqlcmd = new SqlCeCommand (“SELECT * FROM T1 WHERE EnglishWord like ‘%” + textBox1.Text + “%’ OR EnglishDesc like ‘%” + textBox1.Text + “%’ OR […]

使用SMO编写PARTIAL数据内容的脚本(仅限与WHERE子句匹配的行)

我使用SMO用SQL服务器数据库的数据填充SQL Compact数据库。 这是我实际使用的代码: foreach(Table l_tblCurrent in l_dbDatabase.Tables) { if(l_tblCurrent.IsSystemObject) continue; ScriptingOptions l_scOptions = new ScriptingOptions(); l_scOptions.NoIdentities = true; l_scOptions.NoCollation = true; l_scOptions.NoCommandTerminator = true; l_scOptions.NoFileGroup = true; l_scOptions.ScriptSchema = true; l_scOptions.ScriptData = true; foreach(string l_strCurrent in l_tblCurrent.EnumScript(l_scOptions)) { l_sccDBFCommand.CommandText = l_strCurrent.Replace(“[dbo].”, “”); l_sccDBFCommand.ExecuteNonQuery(); } } 它工作得很好,但对于几个表,我不想复制所有行。 我希望只能选择与要复制的WHERE子句相匹配的行。 可能吗 ?

将数据从SQL Compact移动到SQL Server 2008

我创建了一个.SDF文件,并将数据插入到移动设备上的SDF数据库文件中。 我想将.SDF文件转换为SQL Server 2008数据库文件,但不知道如何。 任何指针或建议将不胜感激。

Bin / Debug和Bin / Release之间的区别

我在ac#winform项目中使用sql-server compact数据库。 如果我查看构成解决方案的文件,我可以在以下两个文件夹中看到exe和sdf文件的副本: /bin/Debug/ /bin/Release/ 如果我双击并执行1.然后它更新1.中的sdf,同样为2中的exe / sdf。 当我打开VS时,我假设我正在使用1中的文件。 2中的文件什么时候被覆盖? 当我使用Click-Once安装发布项目时,哪些文件用于创建.application文件? 加成 上面的通用post没有解决我的问题,但它进一步混淆了一些事情。 以下是我希望上述解决方案可以解决的具体方案: 开发解决方案文件夹保存在USB笔式驱动器上。 此解决方案包括数据库文件。 我已经发布到我的家用电脑,我已经发布到我的工作电脑上。 我很高兴随身携带笔式驱动器并插入任何一台PC。 如何进行设置,以便在更新数据库时只存在一个版本的数据? 我已将解决方案更改为专家设置并公开了配置管理器 – 这有用吗?:

sql ce native exception 0xc0000005

当我运行我的.net 3.5 cf应用程序从ms sql ce读取一些数据时,有时我会得到一个带有以下信息的本机exception: ExceptionCode: 0xc0000005 ExceptionAddress : 0x44746e65 (variable) Reading: 0x44746e64 at NativeMethods.GetKeyInfo(IntPtr pTx, String pwszBaseTable, IntPtr prgDbKeyInfo, Int32 cDbKeyInfo, IntPtr pError) at SqlCeCommand.ExecuteReader(CommandBahavior behavior) (… omitted for brevity) at dadosGpsTableAdapter.GetDadosAEnviar() 我的GetDadosAEnviar查询非常简单: SELECT _id, Latitude, Longitude, Ignicao, Altitude, Velocidade,Direcao, Qualidade, Timestamp, Valido, Enviado, CondutorID FROM DadosGps WHERE (Enviado = 0) 并且调用此查询的代码是: private bool […]

使用LINQPad将数据插入到SQL CE数据库中,Linq-to-sql随着时间的推移变得越来越慢,我能做些什么呢?

我在磁盘上有一个SQL CE 4.0数据库,以及一个我想用来填充该数据库的LINQPad程序。 我正在使用内置的(到LINQPad)linq2sql系统。 我注意到随着时间的推移,插入一批行所花费的时间会花费越来越多的时间,最终看起来程序已经慢慢爬行了。 是否有某种缓存或类似缓慢的缓存? 如果有的话,我可以做些什么来避免这种减速? 这是我用来测试它的简单测试表: CREATE TABLE dummy ( id int not null primary key identity (1, 1), value nvarchar(20) not null ) 和我的测试程序: void Main() { for (int iteration = 1; iteration <= 1000; iteration++) { Stopwatch sw = Stopwatch.StartNew(); for (int row = 0; row < 100; row++) dummy.InsertOnSubmit(new dummy […]

更改不会保存在SQL Server Compact 3.5数据库中

我用C#2010创建了一个Windows应用程序,我正在使用SQL Server Compact Edition 3.5。 我还使用DataSet来使用TabelAdapter更改数据库,使用bindingnavigat来添加/编辑/删除。 问题是:我可以在执行期间执行所有这些命令,我​​可以在DataGridView看到添加和编辑的行,但是当我转到服务器数据库解决方案并validation我的数据时,没有发生任何事件! 没有添加行!

如何检查SQL Server CE 3.5中是否存在表

我在asp.net中有一个数据库user.sdf ,我想创建表,我需要检查它检查它先存在不存在然后不需要创建表,否则创建新表如何检查它请帮我解决这个问题。

插入SQL Server CE数据库文件并返回插入的id

问题是: 我的查询 INSERT INTO TableName(val1,val2)values(1,2); SELECT @@IDENTITY; 当我在服务器资源管理器的运行查询中运行它时,我得到了正确的结果。 但是当我使用ExecuteScalar或ExecuteDataTable我得到一个错误,…查询返回null public object ExecuteScalre(string Query, CommandType type) { OpenConnection(); cmd.CommandText = Query; cmd.CommandType = type; object obj = null; try { obj = cmd.ExecuteScalar(); } catch { } finally { ReleaseResource(); } return obj; } public DataTable ExecuteDataTable(string Query, CommandType type) { OpenConnection(); cmd.CommandText = Query; cmd.CommandType […]

适用于不同提供商的相同EDMX文件

我正在开发一个项目,我有一个本地数据库(SQL CE),它用作缓冲区,而不存在与服务器的连接。 在服务器上,我想使用相同的数据库布局。 当然我想使用服务器和客户端上可用的Common.dll中的相同EDMX文件。 在客户端中,我有一个与provider = System.Data.SqlServerCe.3.5的连接字符串,而它是服务器上的provider = System.Data.SqlClient。 当我想在服务器端保存时,我的问题出现了:“给定的提供者清单不是’System.Data.SqlClient.SqlProviderManifest’类型。” 是否有机会在两个部件上使用相同的EDMX-File? 或者有没有最佳实践如何处理这样的星座? 谢谢您的帮助! 编辑:我的主要问题是:是否可以启用EDMX文件与不同的提供商一起使用? 在我的情况下System.Data.SqlServerCe.3.5和System.Data.SqlClient!