WCF初見之SQL數據庫的連接和查詢


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.現在就可以運行下了,效果圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM