程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c# winform 調用WebService實例

c# winform 調用WebService實例

編輯:C#入門知識

           在Winform中對數據庫進行操作缺乏安全性,因而可以使用Winform調用WebService來實現對數據庫的各種操作。

          在VS2010中,創建一個Web服務程序,第一:創建一個空的Web應用程序,名字自己起。第二:鼠標右擊剛剛創建的工程,選擇添加,在彈出的框中選擇Web服務,自己起好名字,確定即可,這樣就創建好一個Web服務程序了。

          經過上上面的步驟,我們就可以添加方法來實現數據庫的操作。

         代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
namespace WebServerSQL
{
    /// <summary>
    /// WebServerGetSqlData 的摘要說明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
    // [System.Web.Script.Services.ScriptService]
    public class WebServerGetSqlData : System.Web.Services.WebService
    {
        //定義數據庫連接對象
        private SqlConnection con;
        [WebMethod]
        public DataSet GetInfo(string strSql)
        {
            string sqlConnect = "initial catalog=數據庫名稱;server=服務器名稱;uid=sa;pwd=密碼";
            con = new SqlConnection(sqlConnect);
            con.Open();
            SqlDataAdapter da = new SqlDataAdapter(strSql, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }
        [WebMethod]
        public bool testConnect()
        {
            try
           {
               //數據庫連接,定義連接對象和連接字符串並打開
               string sqlConnect = "initial catalog=數據庫名稱;server=服務器名稱;uid=sa;pwd=密碼";
               con = new SqlConnection(sqlConnect);
               con.Open();
               return true;
            }
            catch
            {
                return false;
            }
        }
    }
}
下面看看Winfrom下怎麼調用WebService

首先要添加Web服務引用,在VS2010中,直接右擊工程,在彈出的菜單中看不到添加Web引用,難道Winform中不能添加Web引用嗎?通過驗證,是可以添加的。我們只需要選擇選擇Web服務引用,然後在彈出的對話框中點擊高級,然後你就會看到新彈出一個對話框裡面就有添加Web引用,然後輸入WebService服務的URL地址按照步驟完成即可。如下圖:

 \

然後在Winfrom中我們可以調用WebService提供的方法了,代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WinformGetWebServerSQL
{
    public partial class FrmWebserver : Form
    {
        public FrmWebserver()
        {
            InitializeComponent();
        }

        //定義web服務對象
        localhost.WebServerGetSqlData webData = new localhost.WebServerGetSqlData();
        //測試數據庫是否連接成功
        private void btnTest_Click(object sender, EventArgs e)
        {
            if (webData.testConnect())
            {
                label2.Text = "成功";
            }
            else
            {
                label2.Text = "失敗";
            }
        }

        //顯示數據庫中表的數據
        private void btnShow_Click(object sender, EventArgs e)
        {
            string  strsql = "select * from item";
            DataSet ds=webData.GetInfo(strsql);
            DVShowInfo.DataSource = ds.Tables[0];
        }
    }
}


至此一個簡單的調用webservice的程序就完成了,感興趣的朋友可以在WebService中添加更多的方法,比如對數據庫的增,刪,改,查等供winform調用。

希望朋友們多多給點意見,大家共同學習進步!

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved