智能手机远程无线访问数据库的一种方法

智能手机远程无线访问数据库的一种方法


2024年4月17日发(作者:)

忌弟135期 

doi:10.3969/j.issn.1005—2798.2010.12.032 

智能手机远程无线访问数据库的一种方法 

安凌云 

(潞安矿业集团公司,山西长治046204) 

摘要:以多普达智能手机访问远程SQL数据库为例,讨论了在智能手机上通过Web Service无线访问数 

据库的解决方案,介绍了核心部分的实现原理和主要操作步骤。 

关键词:智能手机;Web Service;.NET;GPRS 

中图分类号:TN92 文献标识码:B 文章编号:1005—2798(2010)12.0068—03 

随着智能手机的普及,在智能手机上开发程序 不必改动这些代码,只需仿照Hell0wodd方法 

进行远程数据访问已经成为一种新编程技术,本文 

的结构在Web Service的Servicel类中添加自己的 

以潞安集团实际应用为例,简要描述了其基本原理 

WebMethod即可,这里需要提醒大家注意的是,每个 

和步骤。 WebMethod都必须定义为public,要添加的用于对 

1基本原理 

SQL数据进行访问的方法见表1。 

表1 Web Service中用于数据库访问的WebMethod 

在.NET开发环境中使用C#创建Web service 

名称 功能 

并发布到一个具有公网IP地址WEB服务器上, 

SetDatabaseType 

设置连接数据库的类型 

Web service服务用于响应来自Smart Device应用程 

SetDbC0nnectionString 

设置数据库的连接字符串 

序的SQL语句并将执行结果反馈给Smart Device应 

Create 

创建数据库操作对象 

用程序。其次在.NET中使用VB.NET创建Smart 

ExecuteNonQuery 

执行不返回结果的SQL语句 

ExecuteDataSet 

执行SQL语句,并返回一个DataSet 

Device应用程序,此程序编译后安装到多普达智能 

PDA手机上,当手机通过GPRS方式接入互联网后, 

在Web Service的Servicel类中,首先来声明三 

Smart Device应用程序就可以调用WEB服务器上 

个变量用来分别存储数据库操作对象、数据库连接 

的web service对远程SQL数据库操作并得到操作 

字符串和数据库类型。 

结果。 

private static DBOperater m dbOperater; 

2实现步骤 

private static stirng In

DatabaseType; 

private static string m

_

DbConnectionString; 

2.1 .NET中使用C#创建Web service 

五个方法的代码如下: 

我们首先来创建一个ASP.NET Web Service工 

[WebMethod] 

程:打开File菜单,选择新建,然后是项目,在新项目 

public boo1 SetDatabaseType(string Database- 

对话框中,项目类型选择“Visual C#项目”,模板中 

Type) 

选择“ASP.NET Web Service”,位置中选择你的Web 

{ 

Service的位置和名称,我将此处填为http://202. 

if(DatabaseType==””、 

99.202.107/Webservicel,这是因为我的IIS服务器 

retum false; 

公网IP为202.99.202.107。 

DatabaseType=DatabaseType; 

接下来,我们要为Web Service创建WebMeth- 

return true; 

od,打开Service1.asmx.es文件你会看到IDE环境 

} 

为你自动生成的代码,其中有一个示例WebMethod, 

此方法名是HelloWorld,如下所示: 

[WebMethod] 

// [WebMethod] 

public bool setDbc0nnecti0nString(string Db— 

//public string HelloWorld() Stirng) 

// { 

{ 

// return“Hello W0rld”: 

if(DbString==””) 

// } 

return false; 

收稿日期:2010—10-28 

作者简介:安凌云(1973一),男,山西襄垣人,工程师,从事计算机技术工作。 

68 

2010耳12月 安凌云:智能手机远程无线访问数据库的一种方法 第19卷第12期 

DbConnectionString=DbString; 

return true; 

} 

下面的Create方法,根据m—DatabaseType来创 

建相应的DBOperater派生类的对象。 

[WebMethod] 

public bool Create() 

{ 

if(m—DatabaseType==”SQL Server”) 

{ 

dbOperater=new DBSqlServerOperater(m— 

DbConnectionString); 

return true; 

} 

return false; 

} 

而剩下的两个WebMethod只是简单的调用了 

DBOperater派生类对象的相应方法,而实际的数据 

库操作则是在DBOperater派生类中具体实现的,这 

样可以更好地实现数据库操作与客户端操作的分 

离。 

[WebMethod] 

public bool ExecuteNonQuery(string sq1) 

{ 

return m

dbOperater.ExecuteNonQuery(sq1); 

} 

[WebMethod] 

public DataSet ExecuteDataSet(string sq1) 

{ 

return m

dbOperater.ExecuteDataSet(sq1); 

} 

把对数据库操作的具体方法封装到了DBOper— 

ater类中,并由DBOperater类派生出了DBSqlServer- 

Operater类,用来进行对Sql Server数据库操作。下 

面是DBOperater类的实现代码,可以看到DBOper- 

ater类中的两个方法使用了virtual的关键字,声明 

为虚函数。在DBSqlServerOperater中对这两个方法 

进行重载编程以实现对SQL Server数据库进行存储 

操作。 

public class DBSqlServerOperater:DBOperater 

//DBOperater是数据库操作基类 

{ 

public DBSqlServerOperater(string DBConnec— 

tionString) 

{ 

in

SqlConnection new SqlC0nnection(DBCon— 

nectionString); 

} 

public override bool ExecuteNonQuery(stirng sq1) 

{ 

if(sql==””、 

return false; 、 

SqlConnection.Open(); 

SqlCommand command =m

SqlConnection.Cre— 

ateCommand(); 

command.CommandText sql: 

command.ExecuteNonQuery(); 

_

SqlConnection.Close(); 

return true; 

} 

public override DataSet ExecuteDataSet(string 

sq1) 

{ 

if(sql=:””、 

retum null; 

sqlconnection.Open(); 

SqlDataAdapter da=new SqlDataAdapter(sql,Ill 

SqlConnection); 

DataSet ds=new DataSet(); 

da.Fill(ds); 

SqlConnection.Close(); 

return ds; 

} 

private SqlConnection mSqlConnection; 

} 

至此对数据库的操作已经在Web Service端做 

了封装,最后将Web Service编译发布到的IIS服务 

器上以备调用。 

2.2创建Smart Device应用程序 

新打开一个VS.NET的IDE环境,打开File菜 

单,选择新建,然后是项目,在新项目对话框中,项目 

类型选择“Visual Basic项目”,模板中选择“智能设 

备应用程序”,然后点击确定。 

在Smart Device Application Wizard对话框中, 

有两个列表框,上边一个列表框选择程序的目标平 

台,根据你开发时所使用的机器上安装的SDK的不 

同可以显示出不同的选项,Visual Studio.NET 2003 

会默认安装Pocket PC 2002的SDK,您需要另外安 

装Pocket PC 2003 SDK后才能够看到Pocket PC 

2003模拟器这一项。不过您在Pocket PC 2002的模 

拟器下调试本文提到的应用程序也是没有问题的。 

在这里选择“Pocket PC 2002模拟器”和“Windows 

Application”,点击OK。此时IDE环境其实和Win— 

Form程序的开发环境差不多,手工画出三个text. 

Box,textboxl用来设置数据库类型,textBox2用来设 

置数据库连接字符串,texBox3用来书写SQL查询 

语句,一个DataGrid,用来显示Web Service传来的 

数据,两个Button,Buttonl用于将三个文本框的内 

容起作用,Button2用于执行SQL查询并将返回的 

DataSet显示在DataGrid中。 

2.3 Smart Device应用程序调用WebService 

在项目资源管理器中右键单击“添加web引 

69 

20l0年l2月 安凌云:智能手机远程无线访问数据库的一种方法 第19卷第12期 

用”弹出web引用对话框,然后在地址栏中输入 记录集ds在Datagridl中显示。 

webservice地址“http://202.99.202.107/WebSer. 

} 

vicel/Service1.asmx”(这个地址与创建的Web Serv— 

最后将Smart Device应用程序编译打包安装到 

ice时写的地址一样),在WEB引用名一栏中写入 

多普达智能手机上,启动程序后输入相应参数即可 

你想要的引用名,此例中我写为“Dataserve”。双击 

运行。 

Button2进入代码窗口书写Button2一Click事件代码, 

如下所示: 

3结语 

private void Bu ̄on2

Click(object sender,Sys— 

至此,已经实现了一个可以在多普达智能手机 

tem.EventArgs e) 

上无线操作远程SQL数据库的程序。随着.Net数 

{ 

据库操作组件的日益丰富,相信完全可以实现对 

Dataserve.Servicel service=new SQLSmartCli— 

Oracle、DB2等流行的关系型数据库的支持,并在此 

ent.Dataserve.Service1(); 

基础上,实现更多基于移动设备的应用程序。 

service.SetDatabaseType(textBox1.Text);//设 

置数据库类型m—DatabaseType 

参考文献: 

service.SetDbConnectionString(textBox2.Text); 

[1]李琳..NET开发平台核心服务的研究与应用[D]. 

//设置数据库连接字符串in~c0nnectionstring 

湖北:武汉理工大学,2003. 

service.Create(); 

[2]刘浩,陈曙东.c#编程实例与技巧[M].北京:清华 

DataSet ds=service.ExecuteDataSet(textBox3. 

大学出版社,2006. 

Text);//执行SQL语句并返回记录集ds 

DataGrid1.DataSource=ds.Tables[0];//返回 [责任编辑:魏晋英] 

(上接第57页)地下水作用也会引起巷道的变形;该 

区域内长壁开采的采空区地表已进入缓慢的残余沉 

参考文献: 

降变形阶段,残余变形量很小,残余沉降将不影响地 

[1] 马金荣,彭向峰,丁陈建.煤矿采空区场地建筑适宜性 

面建筑的建设,地下水作用可能会引起老采空区的 

工程地质研究方法[J].煤田地质与勘探,1996(6):44 

“活化”,因此该区域内建设必须采取适当的抗变形 

46. 

设计措施。 [2] 郭惟嘉,王勇义.采空区上方修建大型建筑物地基稳定 

5结论 

性评价[J].岩土力学,2004,25(增刊):57—59. 

[3]滕永海,苏胜昔,李文秀.老采空区地基稳定性评价 

1) 在现有条件下,老采空区对地表的影响主 

[J].煤炭学报,1997,25(5):504—508. 

要为产生残余沉降,且沉降量在规范允许范围内。 

[4] 郭广礼.老采空区上方建筑地基变形机理及其控制 

2) 由于地下水的作用巷道围岩遇水软化,长 

[M].北京:中国矿业大学出版社,2001. 

期强度低,从安全角度考虑,评价场地地下巷道废弃 [5] 中华人民共和国建设部.GB5OO21—94岩土工程勘 

后,应进行封巷充填处理;并且地下水位变化的可能 察规范[S].北京:中国建筑工业出版杜,1995:76— 

会引起采空区活化。 

79. 

3) 场地可划分为稳定区域和相对稳定区域, [6] 中华人民共和国建设部.GB 50007—2002建筑地基 

稳定区域范围内不受长壁开采采空区和采掘巷道变 基础设计规范[S].北京:中国建筑工业出版社, 

形的影响,场地是稳定的,作为建设用地是适宜的; 

2Oo2. 

相对稳定区域内建设必须采取适当的抗变形设计措 

[7] 国家煤炭工业局.建筑物、水体、铁路及主要井巷煤柱 

施,在可以消除老采空区“活化”和巷道变形的影响 留设与压煤开采规程[M].北京:煤炭工业出版社, 

的前提下,作为建设用地是基本适宜的。 

2000. 

4) 建议建筑物布局时尽量使建筑物位于预测 

[8]煤炭科学研究院北京开采研究所.煤矿地表移动与覆 

残余变形较均匀的区域,避免使长建筑物跨越残余 岩煤破坏规律及其应用[M].北京:煤炭工业出版社, 

沉降差异较大的区域,且长轴方向应顺着巷道方向, 

1981. 

砌体建筑物不宜横跨巷道;并对场地内的建筑物进 

行变形监测,设置长期沉降监测标,定期进行沉降观 [责任编辑:魏晋英】 

测,监控建筑物的使用安全。 

70 


发布者:admin,转转请注明出处:http://www.yc00.com/news/1713347077a2230876.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信