C# webservice调用数据库

转载 2016年04月25日 16:48:16

1、首先建立一个WinCE项目和一个ASP.Net WebService应用程序。

1、新建一个WebService应用程序。

新建WebService后,会出现一个HolloWorld函数。如下所示:

        [WebMethod]

        public string HelloWorld()

        {

            return "Hello World";

        }

我没做过Asp.Net的东西,对Asp.net不熟悉。于是就试着在它的下边添加我自己的函数即可。结构如下:

 

        [WebMethod]

        public string fun1()

        {

            return "Hello World";

        }

按F5即可看到程序中的两个函数HelloWorld和fun1。在浏览器中点击这两个函数就可以看到调用它们的结果了。

 

2、在WebService中添加数据库访问函数

 

确定这么写WebService函数后开始添加数据库访问函数。

要访问数据库,必须添加对System.Data.SqlClient的引用因此,首先在文档头添加了如下引用:

using System.Data.SqlClient;

 

下边是一个测试能不能连接到数据库的函数:

 

        [WebMethod]

        public bool test()

        {

            string connStr = "server = 10.0.0.172;database=mydb;uid=sa;pwd=123456";

            try

            {

                SqlConnection conn = new SqlConnection(connStr);

                conn.Open();

                bool b = true;

                conn.Close();

                return b;

            }

            catch

            {

                return false;

            }

        }

按F5在在浏览器中看见两个函数。点击test函数调用他后可以看到如下结果:

  <?xml version="1.0" encoding="utf-8" ?>

    <boolean xmlns="http://tempuri.org/">true</boolean>

这是个XML文件。WebService传递数据是用过XML的形式传输的!

说明返回结果为true。访问数据库成功。

 

3、读取数据库中的内容

需要使用Dataset作为载体返回数据库中的数据。因此,添加了对System.data的引用:

using System.Data;

下边是我写的一个试验用的函数:

        [WebMethod]

        public DataSet reader()

        {

            string connStr = "server = 10.0.0.172;database=mydb;uid=sa;pwd=123456"; //database=数据库名,这里不能用database,要用Initial Catalog=数据库名,不然连不上。

            try

            {

                string sqlStr = "select * from admin";

                DataSet ds = new DataSet();

                SqlDataAdapter da = new SqlDataAdapter(sqlStr, new SqlConnection(connStr));

                da.Fill(ds);

                return ds;

            }

            catch (Exception exp)

            {

                return null;

            }

        }结果数据显示的很乱,就不贴了。看到的结果都是XML格式的。

 

4、新建WinCE项目,并添加Web引用

在解决方案中添加WinCE项目。命名为SDP

此处需要注意的是:在点击添加Web引用后的窗口中有三个选项:

§  此解决方案中的 Web 服务

§  本地计算机上的 Web 服务

§  浏览本地网络上的 UDDI 服务器

这三个选项都不能直接使用!

 

点击此解决方案中的 Web 服务后,在窗口上边的地址栏出现如下地址:

http://localhost:49350/Service1.asmx

将localhost替换成泥计算机的IP,然后才能在PDA中引用,否则WinCE对http://localhost:49350/Service1.asmx的解析将出现问题,很简单的问题。这样添加也会由于配置不正确而出现访问不了的问题!

 

最好是将WebService发布到IIS后再添加到WinCE的Web引用。(我是这么用的)添加的引用名为WebRef

 

5、在WinCE项目中调用WebService函数

添加引用:

using SDP.WebRef;

6、在程序中调用WebRef中的函数

首先我测试调用HelloWorld函数。响应一个button点击事件:

        private void button1_Click(object sender, EventArgs e)

        {

            Service1 svs = new Service1();

            MessageBox.Show(svs.HelloWorld());

        }

测试结果抓了个图,如下:

7、调用刚才写的那个访问数据库的函数

第一步,确保项目中有对System.Data.的引用

using System.Data;

第二步:定义一个DataSet用于接受函数返回

第三步:用Datagrid显示数据

重写后响应button点击事件的代码如下:

        private void button1_Click(object sender, EventArgs e)

        {

            Service1 svs = new Service1();

            //MessageBox.Show(svs.HelloWorld());

            DataSet ds = new DataSet();

            ds = svs.reader();

            this.dataGrid1.DataSource = ds.Tables[0];

        }

相关文章推荐

用VS2012创建和使用WebService(连接SQL Server)

1.创建“ASP.NET 空Web应用程序”。打开VS2012,选择“文件”=>“新建”=>“项目”,弹出“新建项目”窗口;然后,选择“Web”=>“ASP.NET空Web应用程序”,可以为新建项目设...
  • vjudge
  • vjudge
  • 2015年06月02日 19:07
  • 3229

C#访问数据库使用web.config配置连接字串

C#访问数据库使用web.config配置连接字串  第一部分:C#访问Oracle数据库使用web.config配置连接字串 访问本地Oracle数据库                ...

使用C#编写webservice 连接oracle数据库

通过WEBSERVICE连接ORACLE 2011-06-14 14:07 经过一周的IIS折腾,一周的ORACLE折腾。在经过今天下午的一点小曲折,终于在VS2005下对MF...

.net C# WebService 开发(获取数据库数据)

1.jav net的IDbConnection就是java的Connection  .net的IDbCommand就是java的Statement  IDbCommand实例由IDbConnec...

典型webservice(c#)例程序-提取数据库数据

WebService.cs文件代码 using System; using System.Collections.Generic; using System.Linq; using Syste...
  • liheao
  • liheao
  • 2017年02月24日 21:09
  • 551

c# winform通过本地WebService接口访问SQL数据库实例

总体思路如下:先建立数据库,再建立webservice,最后通过winform的按钮来调用服务,达到操作数据库的目的。...

c#调用数据库的WebService

目的:调用学校信息办提供的WebService,根据用户名和密码判别身份,本可以直接调用该WebService,但由于其调用时必须提供SoapHeader,且有访问限制,所以打算自己写一个WebSer...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

用WebService实现对数据库进行操作(添加+删除+修改)

表为User,字段有 编号: int id,用户名:string UserName,密码:string UserPwd    ///     /// 添加           ///   ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# webservice调用数据库
举报原因:
原因补充:

(最多只允许输入30个字)