[转]Windows Mobile 上使用Sybase Anywhere(2)

导读文章:《WM上使用Sybase Anywhere(1)

在上一篇文章讲述了,如何在WM系统中安装Sybase Anywhere 11,并测试数据库是否可用,是否正常。

那该篇文章讲主要叙述,如何在WM系统中来操作其数据库。

当我们在WM系统中安装完后,将会有一个demo.db的数据库实例对象,那我们就来使用该实例数据库。

那首先我们先要看看这个数据库中有些什么内容。

如何访问WM系统的数据库表呢?将WM与系统连接,并将该数据库拷贝下。

然后启动Sybase Central,在菜单“连接”->“使用SQL Anywhere 11连接”

在连接对话框的标识中,输入用户名和密码。

在数据库标签页,选择一个数据库文件。或者你也可以自己启动一个数据库实例的服务。

最后按下一步,Sybase Central会自动启动一个数据库实例服务。下面就是该数据库中已有的内容及可以实现的操作。

表、视图、索引、触发器、过程和函数,这些原先的数据库中都已有了内容。这就是Sybase Anywhere 11数据库所能提供的那些,是不是比SQL CE3.5还要强大许多。

废话不多说了,前面介绍了如何查看数据库实例中的具体内容,那下面我讲介绍如何使用.net cf来访问Sybase Anywhere 11数据库。

创建一个工程,添加iAnywhere.Data.SQLAnywhere引用,该DLL中包含了连接数据库的以下几个关键对象。
SAConnection:数据库连接对象。
SACommend:数据库命令执行对象。
SADataReader:数据游标操作对象。
SADataAdapter:数据填充/适配器对象。
SATransaction:数据库事务对象。
SAParamter:数据库参数对象。

从这些对象的命名中,我们可以很清楚的看出,和.net中的那些数据操作对象一致,就命名前多了SA。绝大多数的方法都一致。只多了一些更好的属性及方法。

Demo演示中,将从数据库中取道所有数据,然后当选择一行数据时,可以弹出其所有的描述数据。
运行Demo。

当点击Load Data时,出现该对话框。这时何故??
原因分析:因为Sybase Anywhere的数据连接方式是采用ODBC方式。其实,在连接字符串中所填写的是其DSN的名称。当连接打开操作执行时,是先去找DSN文件,然后根据DSN文件所配置的信息来使用ODBC来连接。

string connectionString = @"Data Source=SQL Anywhere 11 Demo;POOLING=TRUE;Max Pool Size=50;";

DataSource=SQL Anywhere 11 Demo 表示DSN名

那DSN文件中到底是何信息呢?我们看一下Sybase Anywhere 11所提供的这个数据库实例的DSN吧。
[ODBC]
uid=dba
pwd=sql
enginename=demo
databasename=demo
databasefile=\My Documents\demo.db
start=\Storage Card\Program Files\SQLAny11\dbsrv11.exe

上面就是从DSN中拷贝出来的信息。
uid表示用户名
pwd表示密码
enginename表示连接引擎名
databasename表示数据库实例名
databasefile表示目前数据库所在的位置
start表示用Sybase Anywhere 11提供的dbsrv11.exe程序启动该数据库。
该文件就是启动数据库服务的应用程序,当数据库启动后,SAConnection才能通过ODBC来连接到数据库。

这就是为何会有该对话框出现,该对话框中所描述的信息也就告诉你它在干什么了。

SADataReader提供了FieldCount(查询得到结果集的列的合计数)及Depth(总共有多少行数据)。

在使用select查询时,不支持表(nolock),该语句只在SQL Server中适用。

以上就是如何在WM上操作Sybase Anywhere 11数据库的一个大概的介绍。

代码下载:SybaseDemo.rar

运行环境:VS2008 + WM6.0 + .net cf3.5 + Sybase Anywhere 11

Author:AppleSeeker(冯峰)
Date:2009-04-14

转自:http://www.cnblogs.com/appleseeker/archive/2009/04/14/1436001.html

  • 本文链接地址:http://www.sybrepair.com/windows-mobile-sybase-anywhere2.htm
  • 本文为dbainfo个人原创,请在尊重作者劳动成果的前提下进行转载;
  • 转载务必注明原始出处 : Sybase数据库技术,数据库恢复专家
  • 对《[转]Windows Mobile 上使用Sybase Anywhere(2)》有何疑问或见解,请在本文下方发表;
  • 对网站还有其他问题或建议,请提交在留言板,谢谢!
  • 目前还没有任何评论.
    :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)