c#调用WebService实例
在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实例的更多相关文章
- PHP调用Webservice实例
原文 PHP调用Webservice实例 NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService.它是一个开源软件,是完全采用PHP语言编写的.通过HTTP收发S ...
- Salesforce 使用Js 调用Webservice实例
1,创建 Custom Button 在页面上 2, 创建CustomJs 代码调用Webservice <!--参数名区分大小写,对于跨层object直接在Object名后直接加参字段名即可- ...
- Js 调用 WebService 实例
Html页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/ ...
- C#调用WebService实例和开发
一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是 ...
- C#调用WebService实例和开发(转)
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- 【转】C#调用WebService实例和开发
一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是 ...
- 用C#通过反射实现动态调用WebService 告别Web引用
我们都知道,调用WebService可以在工程中对WebService地址进行WEB引用,但是这确实很不方便.我想能够利用配置文件灵活调用WebService.如何实现呢? 用C#通过反射实现动态调用 ...
- C#调用webService的几种方法
转自: WebClient 用法小结 http://www.cnblogs.com/hfliyi/archive/2012/08/21/2649892.html http://www.cnblogs. ...
- 利用Java编写简单的WebService实例
使用Axis编写WebService比較简单,就我的理解,WebService的实现代码和编写Java代码事实上没有什么差别,主要是将哪些Java类公布为WebService. 以下是一个从编写測试样 ...
随机推荐
- luogu1608 路径统计 (spfa)
题意:给一个有向图(无零边),要求找出最短路的数量(重边只计算一次) 做spfa的时候,记一个cnt对于u-w->v如果dis[u]+w=dis[v],cnt[v]+=cnt[u] 如果dis[ ...
- spring 中连接多个数据源
http://www.ityouknow.com/springboot/2016/08/20/springboot(%E4%BA%94)-spring-data-jpa%E7%9A%84%E4%BD% ...
- Vim常用插件安装及配置方法
Vundle 安装 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 配置 vimrc首部添 ...
- 洛谷P4219 大融合
LCT新姿势:维护子树信息. 不能带修,子树修改就要toptree了... 题意:动态加边,求子树大小. 解: 维护子树信息只要额外维护虚边连的儿子的信息即可.这里把siz的定义变成子树大小. 哪里会 ...
- java 8: ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
转眼之间, java 11都快要推出了. 而我一直都在 java 7环境下写代码,真的不想升级,不想改变什么,可世界每天都在变化. 最近因为服务端需要SNI,而 java 7 只支持客户端的SNI,只 ...
- Django(十一)请求生命周期之响应内容(请求/响应 头/体)
https://www.cnblogs.com/renpingsheng/p/7534897.html Django请求生命周期之响应内容 http提交数据的方式有"post",& ...
- Button中command后面函数添加参数解决方法
添加按钮,按钮的功效由command=函数名,后面的函数实现,但是如果直接写函数名,碰上那些需要参数的函数就会出错 因此,有个简单方法command=lambda:函数名(参数1,参数2.....) ...
- python之OpenCv
1.安装 pip install opencv-python 2.初步简绍 创建窗口显示图像 cv2.namedWindow(窗口名称[,窗口标识]) 例如:cv2.namedWindow(" ...
- nginx安装配置: configure命令
configure命令用来配置nginx编译环境. 该命令定义了系统各方面功能,包括允许nginx使用的连接处理方式. 其执行结果是生成一个Makefile文件. configure命令支持如下参数: ...
- icmpsh解决运行报错
运行./run.sh报错 sysctl -w net.ipv4.icmp_echo_ignore_all=1 >/dev/null python icmpsh_m.py 攻击机ip 目标机ip ...