1.首先要連接數據庫,自然要有數據庫啦,創建一個數據庫表TEST1,並插入數據:
----使用數據庫test USE test ----創建一個表TEST1 CREATE TABLE TEST1 ( TNAME CHAR(20) PRIMARY KEY NOT NULL, TINTRO VARCHAR(200) NOT NULL ) ----向表TEST1內插入數據 INSERT INTO TEST1(TNAME,TINTRO) VALUES('Intel','世界上最大的CPU及相關芯片制造商') INSERT INTO TEST1(TNAME,TINTRO) VALUES('Microsoft','全球最著名的軟件商,美國軟件巨頭微軟公司的名字') INSERT INTO TEST1(TNAME,TINTRO) VALUES('AMD','世界第二大CPU制造商') INSERT INTO TEST1(TNAME,TINTRO) VALUES('Sumsung','韓國三星公司,著名的彩顯制造商,也生產光驅、家用電器等') INSERT INTO TEST1(TNAME,TINTRO) VALUES('Apple','美國蘋果電腦公司,該公司以生產高性能專業級電腦著稱於世') ----查詢TEST1的內容 SELECT TNAME,TINTRO FROM TEST1
2.下面就是WCF服務的創建了,直接創建一個WCF服務應用程序,項目名稱為“Connect2SQL”,如下圖:
3.然后再IService1.cs中定義 WCF服務協定,具體代碼如下:
using System; using System.ServiceModel; using System.Data; namespace Connect2SQL { [ServiceContract] public interface IService1 { //打開數據庫 [OperationContract] void openSql(); //關閉數據庫 [OperationContract] void closeSql(); //查詢數據 [OperationContract] DataSet querySql(); } }
4.再在Service1.svc.cs中實現WCF服務協定,具體代碼如下:
using System; using System.ServiceModel; using System.Data; using System.Data.SqlClient; namespace Connect2SQL { // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together. public class Service1 : IService1 { //連接數據庫 SqlConnection strCon = new SqlConnection("server=SQLServer服務器名稱;database=數據庫名稱;uid=用戶名;pwd=密碼"); /// <summary> /// 打開數據庫 /// </summary> /// <returns></returns> public void openSql() { strCon.Open(); } /// <summary> /// 關閉數據庫 /// </summary> /// <returns></returns> public void closeSql() { strCon.Close(); } /// <summary> /// 查詢表TEST1中的數據 /// </summary> /// <returns></returns> public DataSet querySql() { try { openSql(); string strSql = "SELECT TNAME,TINTRO FROM TEST1"; DataSet ds = new DataSet(); SqlDataAdapter s = new SqlDataAdapter(strSql, strCon); s.Fill(ds); return ds; }catch(Exception ex) { throw ex; }finally{ closeSql(); } } } }
5.啟動服務,得到服務地址並新建一個名為“ShowData”的Web客戶端,然后在Web客戶端添加服務引用,具體過程見WCF初見之HelloWorld ,再在Web頁面添加個GridView組件,具體代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="getData.aspx.cs" Inherits="ShowData.getData" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> 數據庫的連接<br /> <br /> <asp:GridView ID="showData" runat="server" AutoGenerateColumns="False" > <Columns> <asp:BoundField DataField="TNAME" HeaderText="公司名稱" /> <asp:BoundField DataField="TINTRO" HeaderText="公司簡介" /> </Columns> </asp:GridView> </form> </body> </html>
6.然后就是在Web頁面編寫事件,把查詢到的數據顯示到GridView組件中去,具體代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace ShowData { public partial class getData : System.Web.UI.Page { //實例化WCF服務端的類 host.Service1Client sql = new host.Service1Client(); protected void Page_Load(object sender, EventArgs e) { //把查詢到的數據顯示到GridView組件中去 showData.DataSource = sql.querySql(); showData.DataBind(); } } }
7.現在就可以運行下了,效果圖如下: