page contents

C# webservice调用数据库

本文讲述了C# webservice调用数据库 !具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-09-ukMV4pML6333bddcea889.png本文讲述了C# webservice调用数据库 !具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

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];


        }

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2022-09-28 11:22
  • 阅读 ( 388 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章