1. 程式人生 > >c#調用WebService實例

c#調用WebService實例

vsp tab width sender pwd 名稱 希望 tar model

在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調用。

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

c#調用WebService實例