Windows Mobile6 Vs2008 Sql Ce3.5 嵌入式应用开发
2010-03-26 21:27:00 来源:WEB开发网string strSQL = "select * from TS_User Where UserCode='" + strUserCode + "' And PassWord='" + strEncryptWord + "' And UserState='VALID'";
DataAccess daTmp = new DataAccess(GetSettings._LocalTmpConnectionString);
try
{
daTmp.PullDatafromRemoteServer("TS_User", strSQL, System.Data.SqlServerCe.RdaTrackOption.TrackingOff);
daTmp.Open();
DataTable dt = daTmp.ExeceuteDataTable("TS_User", strSQL);
if(dt.Rows.Count == 0)
{
IsValidUser = false;
}
else
{
UserID = dt.Rows[0]["ID"].ToString();
UserName = dt.Rows[0]["UserName"].ToString();
UserLawID = dt.Rows[0]["UserLawID"].ToString();
UserCode = strUserCode;
UserPass = strUserPass;
IsValidUser = true;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
daTmp.Close();
}
}
这里封装了一个数据访问对象DataAccess,里面就是使用的SqlCeRemoteDataAccess与SqlCeConnection。用来提供数据访问方法,在构造时指定数据库连接,以确定是访问本地临时库,还是本地业务库。因为验证用户是访问server上TS_User表,要临时存储在本地,所以这里使用临时库。可以看到验证过程分为2部分:1是先将数据下载到本地临时库中;2是再从临时库中查询。如果临时库中没有符合的记录,说明验证未通过;反之通过。注意System.Data.SqlServerCe.RdaTrackOption.TrackingOff,表示ce不跟踪对 TS_User表的变化,因为我们只是查,不对数据更新。
查询车辆与验证用户身份在数据操作上是一样的,这里略。
再来看看立案处理,需要往server上写数据。
private void btnLA_Click(object sender, EventArgs e)
{
if (!this.ValidData())
return;
DataAccess daTmp = new DataAccess("");
更多精彩
赞助商链接