在过去的一个小时里,我一直在尝试这个查询的不同变体,但是我在用户名上得到了错误,用户名只是一个普通的字符串,用户名是我从xml文件中获得的,不包含任何特殊字符或者什么的
我正在使用SLQ compact 3.5
PS我试过用?而不是@username也无法正常工作除"日期"之外的所有领域都是"nchar"
C = nodeItem["user_from"].InnerText;
avatar = nodeItem["user_from_avatar"].InnerText;
string msgText = nodeItem["message"].InnerText;
DateTime dt=DateTime.Now;
string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(@username,@messige,@userpic,@thedate)";
using (SqlCeCommand cmd = new SqlCeCommand(sql, connection))
{
cmd.Parameters.Add("@username",C);
cmd.Parameters.Add("@messige", msgText.ToString());
cmd.Parameters.Add("@userpic", avatar.ToString());
cmd.Parameters.Add("@thedate", dt);
connection.Open();
cmd.ExecuteNonQuery();
adapter.Update(data);
connection.Close();
}
Run Code Online (Sandbox Code Playgroud)
错误消息: 替代文字http://clip2net.com/clip/m11962/1247582804-clip-16kb.png 谢谢,尼古拉
我正在寻找一个易于使用和部署sql类型的数据库,我可以附带桌面应用程序.
这将是一个小应用程序用户可以从我的网站下载.
在vb6天,访问是小型桌面应用程序的通用数据库,这些天我的选择是什么?
看看SQL CE,它似乎有很多限制,比如count(distinct)等
SQL Express需要作为服务安装和运行(我可以在我的部署中包含SQL Express部署,这样用户甚至不知道它已经安装了吗?我认为大小会成为一个问题)
由于大小和许可限制,SQL 2005/2008不是一个选项.
我想使用c#,wpf和实体框架.
什么似乎是基于您的知识和经验的最佳选择?
谢谢
我有一个使用SQL Server CE 4.0和Entity Framework 4.1 Code First的ASP.NET MVC 3应用程序.它在本地工作正常,但在生产中,它失败并出现以下错误:
自创建数据库以来,支持'foobar'上下文的模型已更改.手动删除/更新数据库,或使用IDatabaseInitializer实例调用Database.SetInitializer.例如,DropCreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可选择使用新数据对其进行种子设定.
我已经验证我的应用程序DLL和数据库文件在远程服务器上是最新的,但我继续收到此错误.
知道问题可能是什么?
注意:我使用的是Entity Framework 4.1的RTF版本,而不是CTP.
编辑
好的,如果我删除EdmMetadata表,并将数据库重新发布到生产服务器,我就不会再收到错误.但是,我完全不明白为什么我应该这样做.该模型没有改变.它在几周内没有改变,我今天重建了数据库.我想这整个事情的关键是哈希.与之比较的EdmMetadata哈希是什么?
编辑2
根据Mark S的回答,EdmMetadata表中的哈希值与SSDL的哈希值进行比较.但是,解决方案中的任何位置都没有实际的SSDL文件(没有扩展名为.ssdl的文件,也没有包含"ssdl"的文件).那么,SSDL实际存储在哪里?它是在设计时还是在运行时生成的?
编辑3
为了回答我自己的问题,SSDL 确实在运行时生成和缓存(这里有更多细节),但是看看SSDL的实际模式,我不确定我看到任何可能因为项目的DLL生活在另一个中而可能发生变化的东西位于不同的服务器上.
注意:我使用完全相同的数据库文件(.sdf)进行测试和生产.我实际上是将文件从bin/App_Data ftp到生产服务器上的App_Data文件夹.我也在ftp项目DLL.因此,测试和生产之间唯一不同的是这些文件存在于不同的地方.
另外,仅为记录,这是我的连接字符串:
DataSource=|DataDirectory|foobar.sdf" providerName="System.Data.SqlServerCe.4.0
编辑4(最终编辑?)
问题原来是一个DLL问题.我认为EntityFramework DLL的不同版本正在远程使用而不是本地使用.解决方案是确保我拥有最新版本的EF 4.1(RTW),清除并重新添加引用,重新生成数据库并重新发布.现在一切都很好.
asp.net-mvc entity-framework sql-server-ce ef-code-first entity-framework-4.1
我即将开始为Windows 开发一个" 时间机器 ".我需要在表格中存储大量记录.每次执行备份时,我都会写入大约50,000条记录,因为这是我的计算机中有多少文件(每条记录与存储文件无关.记录将包含每个文件所在的路径)无论如何我不要我知道我是否可以使用XML来存储我的记录,因为我的查询不会很复杂,而且比创建本地数据库更容易部署,我不知道它是否会更高效,因为即使查询将会很简单我将处理大量数据.此外,我不知道本地数据库是否可以大于2GB,我估计如果经常使用一年,数据库将大约为3 GB.
我更喜欢使用XML并使用Xpath进行查询,以便更轻松地部署我的应用程序.但是如果创建一个本地数据库变得更有效率并且XML会减慢我的应用程序因为我有这么多记录,那么我将创建一个本地数据库.任何其他建议都会有所帮助,也许我需要做一些其他事情.
我user.sdf在asp.net中有一个数据库,我想创建表,我需要检查它检查它先存在不存在然后不需要创建表,否则创建新表我怎么检查它请帮助我解决这个问题.
我有Windows移动应用程序,显示来自sql server ce的信息.通常需要大约6秒来加载6行的网格.
最近我意识到,如果我使用查询分析器工具在移动设备上打开数据库,然后运行我的应用程序,所有内容运行速度提高约5倍,然后我关闭查询分析器并继续使用应用程序,一切都变慢了.
有人知道为什么会发生这种情况,如何在不要求用户首先打开查询分析器工具的情况下获得此性能?
我读了一篇关于使用linqpad打开SQL CE 4.0数据库的文章,该数据库显示了一个"LINQPad Connection"屏幕截图,其中自动选择了"数据上下文".但是当我下载LINQPad时,同一个对话框的"数据上下文"部分被替换为"自定义程序集的路径",没有默认值.任何人都知道我应该搜索什么(它有一个'浏览'选项)来启用我的连接?为什么会发生这种界面变化?
我的公司正在使用SQL Server Compact来存储和管理本地数据库,我需要从数据库表中获取主键信息.
我OleDbConnection.GetSchema()过去曾使用Jet和OLE驱动程序从Access数据库中获取此信息.但它似乎SqlCeConnection.GetSchema()抛出一个NotImplementedException(或者更确切地说它返回DBConnection.GetSchema()抛出相同的异常).
我不需要通常返回的所有信息GetSchema(),只需要PK的名称.有没有找到SQL Server Compact数据库中表的主键的好方法?
注意:上述方法引用不是静态函数调用.将类名视为该类型的对象引用.
我应该编写一个小应用程序,它将在单用户模式下使用单表数据库(只有一个用户将使用它).该用户只应在只读模式下查看数据.他不应该改变任何数据.
通过备份和/或复制过去,数据将在一个月内进行一次物理更新.
哪个数据库对此有好处?MS Access,ms sql express,ms sqlce?应用程序将在C#Windows窗体上编写.而且表现是必要的.
我对c#很新,刚刚开始使用数据库.我在我的项目文件夹中创建了一个本地数据库,当我单击数据库上的属性时,我得到"连接字符串":
Data Source="C:\Users\Documents\Visual Studio 2012\Projects\DataBaseTest\MyDatabase#1.sdf"
Run Code Online (Sandbox Code Playgroud)
我的问题很简单,如何使用该行创建连接字符串?因为某种原因写这会产生错误.
SqlConnection con = new SqlConnection(Data Source="C:\Users\Documents\Visual Studio
2012\Projects\DataBaseTest\MyDatabase#1.sdf");
Run Code Online (Sandbox Code Playgroud) sql-server-ce ×10
c# ×5
database ×3
.net ×2
ado.net ×1
asp.net ×1
asp.net-mvc ×1
deployment ×1
linqpad ×1
ms-access ×1
sql ×1
sql-server ×1
windows ×1
windows-ce ×1
xml ×1