利用C#远程存取Access数据库[2]

2008-02-23 05:40:05来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

当选择了要进行存取的Access数据库文档后,我们需要调用远程对象的SetRemoteAccessConnString方法,该方法将保存在本次和服务器程式连接期间连接该Access数据库文档的连接字符串,代码如下:

……
ProviderStr = ProviderStrPart txtAccessMdbFileName.Text ";Jet OLEDB:Database Password=" txtAccessPassword.Text;
……
remotableObject.SetRemoteAccessConnString(ProviderStr);
……

  (3)最后我们创建用于连接和请求服务的客户端程式,他会通过调用服务器程式TestServer已注册的远程对象来获取相关数据集,并将编辑过的数据保存回实际的数据库文档。在“TestRemoteAccess”解决方案中新建一个Windows窗体项目名为:“TestClient”,从工具箱中拖拽下几个组件,界面如下所示:

点击放大此图片


  客户端程式需要知道服务器程式所运行在的电脑名称或IP地址连同侦听的端口号,然后创建远程对象的实例,并且创建DataTable以便接收返回的数据,代码如下:

……
string RemoteURL;
Host = txtHost.Text;
Port = txtPort.Text;
RemoteURL = "tcp://" Host ":" Port "/RithiaTestAccessServer";
try
{
 TcpChannel chan = new TcpChannel();
 ChannelServices.RegisterChannel(chan);
 remoteObject = (RemoteObject.CRemoteAccess)Activator.GetObject(typeof(RemoteObject.CRemoteAccess), RemoteURL);
 RemoteDataTable = new DataTable();
 button3.Enabled = false;
}
catch (Exception E)
{
 MessageBox.Show(E.Message.ToString());
}
finally
{
}
……

  客户端程式根据服务程式所侦听的信道是TCP还是HTTP来注册相应的信道和端口号,并且组合成远程对象的Url,即Url= 信道://主机名:端口号/对象的Uri,然后创建远程对象的实例,就像使用本地对象相同能够对其进行存取,我们能够调用远程对象的GetUserTable方法获取指定查询脚本的结果集,代码如下:

……
RemoteDataTable = remoteObject.GetUserTable(txtSQL.Text, "Test");
dataGridView1.DataSource = RemoteDataTable;
……

  保存结果集时仅需简单调用SaveData方法即可,代码如下:

……
remoteObject.SaveData(RemoteDataTable);
……

  三、 结果

  该程式成功地在Visual Studio .Net 2005及Windows XP SP2下调试运行通过。

[1] [2]




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 利用C#远程存取Access数据库[1]

下一篇: ARM7在嵌入式应用中启动程式的实现

热门词条
热门标签