所需工具
1、sql server 2000 sp4
2、sql server mobile 2005
3、sql server mobile tools
安装sql server mobile tools完成后,打开IE地址栏输入http://机器名/sqlMobile/sqlcesa30.dll,显示Sql Mobile Agent 3.0 即为正常。
功能简介
1、把pc机sql server中某表pull到sqlce表中,
2、修改sqlce中此表的内容
3、把sqlce中此表Push到sql server中
具体步骤
1、using System.Data.SqlServerCe;
2、配置字符串
private string rdaOleDbConnectString = @"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=XSupDate;Data Source=ZHOUSAI007";//用来连接sql server
private string rdaUrl = @"http://ZHOUSAI007/sqlMobile/sqlcesa30.dll";//sql server mobile tools
private string localConnection = "Data Source=//My Documents//RdaDB.sdf";//用来连接sqlce mobile
3、方法RdaPull() ,用来把pc机sql server中某表Pull到sqlce表中
private void RdaPull()
{
try
{
//Create the DataBase清空sqlce表中的内容
if (File.Exists("//My Documents//RdaDB.sdf"))
{
File.Delete("//My Documents//RdaDB.sdf");
}
SqlCeEngine engine = new SqlCeEngine();
engine.LocalConnectionString = localConnection;
engine.CreateDatabase();
engine.Dispose();
//Initialize RDA Object
SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(rdaUrl, localConnection);
rda.Pull("Staffs", "select * from Staffs", rdaOleDbConnectString, RdaTrackOption.TrackingOn);
rda.Dispose();
MessageBox.Show("Pull Done");
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
}
}
4、修改sqlce中此表的内容
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlCeConnection conn = new SqlCeConnection(localConnection);
conn.Open();
string sqlstr = @"insert into staffs(StaffsCode,StaffsName)
values('"+textBox1.Text+"','"+textBox2.Text+"')";
SqlCeCommand cmd = new SqlCeCommand(sqlstr, conn);
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Dispose();
MessageBox.Show("Add Done");
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
}
}
5、把sqlce中此表Push到sql server中
private void menuItem4_Click(object sender, EventArgs e)
{
try
{
SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(rdaUrl,localConnection);
rda.Push("staffs", rdaOleDbConnectString, RdaBatchOption.BatchingOn);
rda.Dispose();
MessageBox.Show("Push Done");
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
}
}