Windows Powered Pocket PC Phone Edition 的数据库开发
2008-09-09 10:04:50 来源:WEB开发网public bool CreateDatabase()
{
// 确保数据库存在!
// 如果创建了新数据库,则返回 true。
// 如果未创建新数据库,则返回 false。
// 已知错误:
// 版本 日期 人员 注释
// 00.00.000 020808 ASJ 创建
// *****************************
if(System.IO.File.Exists(LocalDatabase) == false)
{
System.Data.SqlServerCe.Engine SQLCEEngine = new System.Data.
SqlServerCe.Engine(LocalConnection);
SQLCEEngine.CreateDatabase();
return true;
}
else
{
return false;
}
如果数据库不存在,CreateDatabase 方法将创建一个新的数据库。
public void Pull(bool KeepLocalData)
{
// 将表请求下载到本地数据库中。
// 已知错误:
// 版本 日期 人员 注释
// 00.00.000 020808 ASJ 创建
// *****************************
string SQL;
SqlCeConnection cn;
SqlCeCommand cmd;
RemoteDataAccess RDA = null;
// 创建并启动新的 RDA 对象
RDA = new RemoteDataAccess(InternetServer, InternetUser,
InternetPassword, LocalConnection);
// 是否保留本地数据?如果要保留,请先强制上载这些数据!
if(KeepLocalData)
{
RDA.Push(LocalTableName, RemoteConnection, RdaBatchOption.BatchingOff);
}
// 在 Pull 之前,必须先删除本地表
// 打开本地数据库连接
cn = new SqlCeConnection(LocalConnection);
cn.Open();
// 删除本地表
SQL = "DROP TABLE " + LocalTableName;
cmd = new SqlCeCommand(SQL, cn);
// 如果该表不存在,则出错。
// 如果出错,可以置之不理。
try
{
cmd.ExecuteNonQuery();
}
catch{ }
// 关闭连接
cn.Dispose();
// 最后,请求下载远程表!
SQL = "SELECT PlayerName, Hole, Result FROM " + RemoteTableName;
RDA.Pull(LocalTableName, SQL, RemoteConnection, RdaTrackOption.
TrackingOnWithIndexes, "RDAErrors");
// 清理
RDA.Dispose();
}
更多精彩
赞助商链接