快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

[wcf 数据库同步]原创)WCF读取数据库中表

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

请联系购买QQ:1793040

7.1项目说明

服务器端是Windows Forms应用程序,客户端也是Windows Forms应用程序,编写语言为:C#

7.2项目结构

7.3项目开发过程

7.3.1服务器端设计

第一步:创建一个名为WCFDemo_1(可以任意命名)的空解决方案

第2步:点击”档案\ \ mdash; \ mdash; \ gt; \\ u00ldquo;添加\ \ mdash; \ mdash; \ gt; \\ u00ldquo;新建项目,选择”其他语言\ mdash; \ mdash; \ mdash; ; \ gt; \\ u00ldquo; Visual C# \ mdash; \ mdash; \ gt; \\ u00ldquo; Windows”,请选择” Windows窗体应用程序在右边的模板中,名为:

SQLService_Host,如图所示,单击”确定”按钮,这将完成数据库连接服务的主机程序的创建。

步骤3:右键单击项目。 SQLService_Host \ \ mdash; \ mdash; \ gt; \\ u00ldquo;添加\ \ mdash; \ mdash; \ gt; \\ u00ldquo;新建项目,请选择” WCF服务在模板中,将其命名为:WCFService.cs,如下所示:

单击”添加”按钮以创建名为WCFService.cs的服务并生成其相应的接口程序:I WCFService.cs和配置文件:App.config

第四步:编写接口程序I WCFService.cs

  [OperationContract]

System.Data.DataTable GetDataByTable();

注意:此接口实现的功能:通过DataTable获取数据库

第五步:编写由接口实现的服务程序WCFService.cs

  public   System.Data.DataTable GetDataByTable()

{

// 您可以在此处定义数据持久性操作,访问数据库等。

System.Data.DataSet dataSet = <跨度样式="颜色:#0000ff;">新 <跨度样式="颜色:#000000;"> System.Data.DataSet();

System.Data.DataTable dataTable = null ;

SqlConnection sqlConnection = 新建 SqlConnection(" 数据源= ws12 \\\\\\\\ SQLEXPRESS;初始目录=歌曲;集成安全性= True;用户ID = ws12 \\\\\\\\管理员;密码= 12345678 " );

sqlConnection.Open();

尝试

{

System.Data.SqlClient.SqlDataAdapter sqlDataAdapter = System.Data.SqlClient.SqlDataAdapter( " 选择区号,节点号,歌曲序列号,歌曲名称,开始播放时间,歌曲长度,播放状态,结束时间,总播放长度FROM Song_List ORDER按区号 " ,sqlConnection);

sqlDataAdapter.Fill(dataSet, " Song_List " );

如果(dataSet!= null \ \ dataSet.Tables。计算\ gt; 0

{

dataTable = dataSet.Tables [ 0 ];

}

}

catch (异常e)

{

}

最终

{

sqlConnection.Close();

}

返回 dataTable;

}

步骤6:将App.config中的地址修改为:http://本地主机:8731/WCFService/

步骤7:以主机程序的形式添加两个Button,它们是:启动服务”,”停止服务,添加另一个Label,如图所示:

第八步:编写主机窗体的背景代码:

\ 1.添加以下名称空间

 使用 System.ServiceModel; 

\ 2.实例化服务主机主机,即:

 私有 ServiceHost host =  null ; // 实例化服务主机host  

单击事件以启动服务:

 私有  void  button1_Click(对象 发送者,EventArgs e)

{

host = 新建 ServiceHost( typeof (SQLSercice_Host.WCFService));

host.Open();

.label1.Text = " 服务已启动 " ;

}

单击事件以停止服务:

 私有  void  button2_Click(对象 发送者,EventArgs e)

{

如果(host.State!= CommunicationState.Closed)// 确定服务是否关闭

{

host.Close(); // 关闭服务

}

.label1.Text = " 服务已关闭 " ;

}

步骤9:在服务器端运行

点击”启动服务按钮,并显示一个弹出框:

将地址放置在浏览器中的App.config中,如下所示:

单击svcut.exe后面的地址。如果出现以下图片,则表示该服务已成功生成

点击”停止服务按钮,并显示一个弹出框:

至此,服务器端设计已经完成! ! !

7.3.2客户端设计

步骤1:在上述项目中,点击”档案\ \ mdash; \ mdash; \ gt; \\ u00ldquo;添加\ \ mdash; \ mdash; \ gt; \\ u00ldquo;创建一个新项目,然后选择”创建”。左栏中的其他语言\ mdash; \ mdash; \ gt; \\ u00ldquo; Visual C# \ mdash; \ mdash; \ gt; \\ u00ldquo; Windows”,请选择” Windows窗体应用程序从右侧名为SQLService_Client的模板中,如图所示,单击OK,只需按一下按钮,即在解决方案WCFDemo_1中创建一个名为SQLService_Client的新项目作为客户端

步骤2:在上面的表单中,添加一个DataGridView和一个Button,并将Button的Text属性设置为” Get database”,如图所示:

步骤3:在服务器上找到SQLSercice_Host.exe文件,然后双击以启动服务

步骤4:在项目SQLService_Client上单击鼠标右键; \ mdash; \ gt; \\ u00ldquo;添加服务参考”;”,弹出框显示:

步骤5:在服务器端的App.config中输入地址,并将名称空间设置为:SQLService

如图所示:

这样,客户端将向其添加服务器端数据库连接服务! ! !

步骤6:编辑客户表单的背景代码

\添加名称空间

 使用 System.ServiceModel; // 必须添加 

按钮获取数据库点击事件代码:

 私有  void  button1_Click(对象 发送者,EventArgs e)

{

使用(SQLService.WCFServiceClient proxy = SQLService.WCFServiceClient()) // 创建代理以连接到服务器

{

System.Data.DataTable dataTable = proxy.GetDataByTable();

如果(dataTable!= null

{

dataGridView1.DataSource = dataTable; // 绑定数据源以进行控制

}

}

}

步骤7:运算结果:

至此,该项目已经开发完毕! ! !

摘要:

开发过程中遇到的错误:

在服务器端的WCFService.cs程序中,数据库连接代码:

SqlConnection sqlConnection =新的SqlConnection(”数据源= ws12 \\\\\\\\ SQLEXPRESS;初始目录=歌曲;集成安全性= True;用户ID = ws12 \\\\\\\\管理员;密码= 12345678″);

如果用引号引起来,请更改\。 \\\\\\\\ \\\\进入” ,将报告无法识别的转义序列错误。在线检查信息,解决方法是写双斜杠!

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638