如果你编写的 SQL Server CE 应用程序出现下面的错误信息:
Error Code: 8007000E
Message: Not enough storage is available to complete this operation.
Minor Err.:0 Source: Microsoft SQL Server 2000 Windows CE Edition
或者
Error Code: 8007000E
Message: 没有足够的存储空间来完成该操作。
Minor Err.:0 Source: Microsoft SQL Server 2000 Windows CE Edition
可能是以下原因导致的:
你在使用 SqlCeDataAdapter 对象填充 DataSet 后,没有显式地调用相关 SqlCeCommand 对象的 Dispose 方法。
解决方法:
在使用完 SqlCeDataAdapter 对象后,显式地调用与 SqlCeDataAdapter 对象相关的 SqlCeCommand 对象的 Dispose 方法。包括有 SelectCommand、InsertCommand、UpdateCommand 和 DeleteCommand。
示例代码:
publicstaticDataSetLoadData()
{
stringsqlstring="";
//MaketheconnectiontotheSQLServerCEdatasource
SqlCeConnectionconn=newSqlCeConnection("DataSource=<completePathofSDFfile>");
//CreatetheSqlCeDataAdapterobject
sqlCeDataAdapterda=newSqlCeDataAdapter();
//CreatetheDataSetobject
DataSetds=newDataSet();
try
{
sqlstring="selectnamefrommytablewherename=?";
//CreatetheSelectCommandinstancetorunaselectquery
da.SelectCommand=newSqlCeCommand();
//SetSelectCommandobjectproperties
da.SelectCommand.Connection=conn;
da.SelectCommand.CommandText=sqlstring;
da.SelectCommand.Parameters.Add(newSqlCeParameter("name",System.Data.SqlDbType.NVarChar,30));
da.SelectCommand.Parameters["name"].Value=name;
//PopulatetheDataSetobject
da.Fill(ds,"name");
}
catch(SqlCeExceptionsqlx)
{
ShowErrors(sqlx);
}
catch(Exceptionx)
{
MessageBox.Show(x.Message.ToString());
}
finally
{
//ExplicitlydisposetheSelectCommandinstance
da.SelectCommand.Dispose();
da.Dispose();
}
returnds;
}
参考微软知识库:
SqlCeCommand objects are not automatically disposed if you use a SqlCeDataAdapter object
原文地址:http://www.cnblogs.com/upto/archive/2007/01/28/kb-824462.html
分享到:
相关推荐
SQL Server 2000是Microsoft公司开发的关系数据库管理系统,起源于Microsoft、Sybase和Ashton-Tate三家公司合作的项目。尽管最初是基于OS/2的,但随着Windows NT的发布,Microsoft专注于Windows NT版本的开发,而...
需要检查网络状况,确认数据库是否有足够的存储空间,并解决任何可能导致的数据不一致问题。 5. **客户端代理错误**:客户端代理负责与服务器通信和同步数据。如果出现错误,可能是客户端代理服务未启动、配置不...
4. 使用 Visual Basic .NET 开发 PDA 数据库程序可以引用 System.Data.SqlServerCe 命名空间,而非 System.data.oledb,以实现对 SQL Server CE 的操作,接口与 ADO.NET 类似。 5. Visual C++2005 不直接支持 .NET ...
5. 数据库存储:如果程序有高级的管理功能,如按关键字分类、搜索图片,可能会使用数据库(如SQLite或SQL Server CE)存储图片信息。 6. 用户界面:使用Windows Forms或WPF设计界面,实现按钮点击事件、拖放操作、...
- 考试环境:SQL Server 2000 和 Visual Basic 6.0 - 考试内容包括创建和管理数据库、数据查询、数据库备份与恢复、安全管理等方面。 #### 第一章 引论 - **数据库技术的历史与发展**: - 数据库技术起源于20...
3. **数据访问**:介绍如何在移动设备上存储和检索数据,可能涉及SQL Server CE或SQLite等轻量级数据库。 4. **性能优化**:讲解如何减少代码大小,优化内存使用,以及提高程序运行速度,这对于资源有限的设备至关...
目前,市场上有成熟的移动数据库产品,如Sybase的SQL Anywhere、Microsoft的SQL Server Windows CE Edition以及中国人民大学的小金灵移动数据库。尽管市场尚未出现主导性的解决方案,但移动数据库在各种应用场景中...