`
nosoil
  • 浏览: 2299 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[转]WinCE中C#WinForm利用Web Service查询数据库

阅读更多

[转]http://www.cnblogs.com/zyqgold/archive/2010/01/28/1658734.html

这段时间做一个WinCE数据库项目,WinCE需要通过网络访问SqlServer服务器。根据条件读取数据并保存到SqlSC中。

刚开始由于服务器设置等问题,Pull、Push或者直接用ADOCE访问数据库,均抱错。连接不上数据库。



就在快崩溃的时候,同事提议用WebService试一下。琢磨了半天,终于能让WinCE访问数据库了,虽然是间接的!



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

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

        }

也抓了个图


8、这样对数据库的访问就完成了。



Ps:对于单独的应用,这样访问数据库较慢,而且得配置IIS服务器,挺麻烦的。还体现不出来Webservice的优势.只能作为WinCE实在无法访问数据库时的下策使用!

[转]http://www.cnblogs.com/zyqgold/archive/2010/01/28/1658734.html
分享到:
评论

相关推荐

    C#winform读取Excel并导入数据库

    在本文中,我们将深入探讨如何使用C# Winform应用程序来读取Excel文件并将其数据导入到数据库中。这个过程涉及到几个关键步骤,包括文件操作、数据解析以及与数据库的交互。 首先,C#是Microsoft开发的一种面向对象...

    动态连接WebServer路径

    可动态连接WebServer路径的小Demo

    C#winform调用webapi.rar

    在"C# WinForm调用WebAPI"的场景中,我们主要涉及到以下几个关键知识点: 1. **C# WinForm编程**:WinForm是.NET Framework的一部分,提供了一个用于创建交互式图形用户界面的平台。在C# WinForm应用中,我们可以...

    C# winform 利用 reportViewer控件实现数据库记录打印

    数据集可以从数据库查询中填充,例如使用ADO.NET的`SqlConnection`、`SqlCommand`和`SqlDataAdapter`对象执行SQL语句。 在报表模板中,我们可以设置数据源。选择“报表”菜单,点击“数据源”,然后添加新的数据源...

    c# winform datagridview联合access数据库 查询 删除 添加 生成报表

    在C# WinForm应用开发中,使用DataGridView控件与Access数据库进行交互是常见的数据管理方式。这个"datagridview access 数据库 c#"的示例("ComputerManage"项目)旨在教你如何实现查询、删除、添加数据以及生成...

    关于C# winform从EXCEL导入到SQL库

    根据给定的信息,本文将详细解释如何利用C# WinForm应用程序实现从Excel文件导入数据到SQL Server数据库的过程。本文将涵盖以下关键知识点: 1. **理解C# WinForm应用程序** 2. **读取Excel文件** 3. **连接SQL ...

    C#Winform基于SQL Server的网络连接数据库和本地连接,实现增删改查(内附数据库查询语句以及数据库配置,适合新手)

    在本文中,我们将深入探讨如何使用C# Winform与SQL Server进行网络连接和本地连接,以便实现数据库的增删改查操作。对于初学者来说,理解这些基本概念和步骤至关重要,因为它们构成了大部分企业级应用的数据管理基础...

    C#winform实现Excel导入数据库

    本知识点将详细介绍如何利用C# WinForm来实现从Excel文件导入数据到数据库。 首先,我们需要理解C# WinForm的基本架构。C#是微软推出的面向对象的编程语言,它提供了丰富的类库支持,使得开发Windows应用程序变得...

    c# winform快速建websocket客户端源码 wpf快速搭建websocket客户端 c#简单建立websocket

    在C# WinForm应用程序中快速构建WebSocket客户端,是一种实现实时数据交互的有效方式。WebSocket协议作为一种在单个TCP连接上进行全双工通信的技术,使得客户端和服务器之间能够进行低延迟、高效率的数据交换,非常...

    C# Winform 下载文件

    在C# Winform环境下开发文件下载功能,主要是利用.NET Framework提供的System.Net命名空间中的WebClient类。这个类为开发者提供了一种简单的方式来处理HTTP、FTP等网络协议的交互,包括下载文件。本篇将深入探讨如何...

    C# winform调用SQL存储过程-菜鸟入门 详细注释

    内容概要:简单的C# winform调用存储过程实例,创建存储过程入参,通过SqlConnection对象和SqlCommand对象调用存储过程,获取存储过程的出参并显示出来,详细代码注释,希望对用到C#调用存储过程的小伙伴有帮助 ...

    C#Winform 销售管理系统(数据库和报表)

    总的来说,"C# Winform 销售管理系统(数据库和报表)"项目涵盖了软件工程中的多个重要领域,包括数据库设计、C#编程、数据访问以及报表服务的使用。对于学习者而言,这个项目提供了全面的实践经验,有助于提升综合...

    C#Winform摄像头的视频录制和播放

    C# Winform实现图像的动态采集,采集到的流媒体按照*.wam或者任意一种Windows Media Player 11可以播放的文件格式, 并获取流媒体采集结束时的最后画面作为流媒体的封面。 要求有录像功能:“开始录像”、“暂停...

    C# Winform访问Oracle数据库

    2. 在工具箱中,添加`DataGridView`控件,用于显示数据库查询结果。 3. 添加`Button`控件,作为触发数据库操作的交互元素,如“查询”、“添加”、“删除”等。 为了连接到Oracle数据库,我们需要编写代码: 1. ...

    C# winform分页附带数据库

    本主题将深入探讨如何在C# WinForm应用程序中实现数据库驱动的分页功能,同时利用存储过程提高性能和可维护性。分页是大数据量展示时的重要技术,它能够有效地减少内存占用,提高用户界面的响应速度。 首先,我们...

    C#桌面程序 winform WPF集成内置WebApi C# 创建HTTP Web API服务 完全开源一看就会

    C#桌面程序 winform WPF集成内置WebApi C# 创建HTTP Web API服务,winform WPF项目创建HTTP WEB服务,不使用IIS业务 WPF WebApi 限权限访问 在维护旧的项目时,有时需要提供APP连接的需求,就要提供HTTP服务,...

    基于C#Winform抽奖程序(附数据库)

    【标题】基于C# Winform抽奖程序(附数据库) 该程序是使用C#编程语言,构建在Windows Forms(Winform)框架上的一款抽奖应用程序。它不仅具备基本的抽奖功能,而且还集成了数据库来存储和管理抽奖相关的数据,使得...

    C#Winform+Web信息化快速开发框架源码数据库 SQL2008源码类型 WebForm

    种数据库类型,支持WinForm与Web。使用能提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、 提高代码的重复利用率,使软件系统架构更加合理、质量更加过硬,使得劳动成果最大程度上重复利用。框架基 础...

    c# WebApi Winform托管

    本示例中的"WebApi Winform托管"是一个结合了C#的Windows Forms(Winform)和ASP.NET Web API的技术实现,它允许在Winform应用内部托管和调用Web API服务。下面我们将深入探讨这个主题。 **WebAPI**是微软为构建...

    C#Winform 增删改查 SqlServer(附数据库)

    在本文中,我们将深入探讨如何使用C# Winform与Sql Server数据库进行交互,实现增删改查功能。这个系统特别适合初学者学习,通过Visual Studio 2017开发环境,我们可以构建一个用户友好的图形界面,以方便地管理学生...

Global site tag (gtag.js) - Google Analytics