SQL Server CE企业库5无法传递参数
我有一个 SQL CE(.sdf) 数据库,我试图使用 MS Enterprise Library 5.0 从 MVC3 应用程序访问该数据库。我已经引用了 Compact Edition 4.0 的 SQLCE dll。 我使用下面的代码使用 Enterprise Library 执行一个简单的 Select
> SqlCeDatabase objDB = new SqlCeDatabase(connectionString);
> IDataReader rdr = objDB.ExecuteReaderSql("select *
> from sys_config where (cfg_code>=@p1 and cfg_code<=@p2) or
> cfg_code=@p3",
> new DbParameter[] { new SqlCeParameter("@p1",
> 1010), new SqlCeParameter("@p2", 1010), new SqlCeParameter("@p3",
> 1010) });
当我运行上面的代码时,我得到了错误
The SqlCeParameterCollection only accepts non-null SqlCeParameter type objects, not SqlCeParameter objects
,我无法理解它,所以我尝试使用 Select 语句构造一个 SQLCeCommand 并将相同的参数数组添加到命令并在命令上执行reADER。这似乎工作得很好。
不过我想使用企业库来实现它。我做错了什么?
谢谢
I have an SQL CE(.sdf) database which I am trying to access from MVC3 application using MS Enterprise Library 5.0. I have referenced the SQLCE dll for Compact Edition 4.0.
I use the following code to execute a simple Select using Enterprise Library
> SqlCeDatabase objDB = new SqlCeDatabase(connectionString);
> IDataReader rdr = objDB.ExecuteReaderSql("select *
> from sys_config where (cfg_code>=@p1 and cfg_code<=@p2) or
> cfg_code=@p3",
> new DbParameter[] { new SqlCeParameter("@p1",
> 1010), new SqlCeParameter("@p2", 1010), new SqlCeParameter("@p3",
> 1010) });
When I run the above I get the error
The SqlCeParameterCollection only accepts non-null SqlCeParameter type objects, not SqlCeParameter objects
I could not make much sense out of it so I tried to construct an SQLCeCommand using the Select statement and add the same parameter array to the command and executereADER on the command.This seems to work perfectly.
However I want to get it going using Enterprise Library. What am I doing wrong?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论