Visual FoxPro 6.0与大型数据库的无数据源连接(4)

2021-09-24 15:47

+ "PWD=dqwe"_

3. 对于Oracle数据库:

[PROVIDER=MSDASQL;]

DRIVER={Driver Name};

SERVER=server;

databasename=database;

databasefile=path;

DSN=;

UID=user;

PWD=password;

例如:

cnnc.ConnectionString = "Provider=MSDASQL;"_

+ "DRIVER={Microsoft ODBC for Oracle};"_

+ "SERVER=Webserver; "_

+ "DSN=;"_

+ "databasename=dataall; "_

+ "databasefile=d:\data\;"_

+ "UID=dba; "_

+ "PWD=zxcv"

4. 对于Informix数据库:

[Provider=MSDASQL;]

Driver={Driver Name};

Host=IP Adress;

Database=database;

UID=user;

PWD=password;

FetchBufferSize=integer;

NoLoginBox=Yes;

Options=;

Protocol=TCP/IP;

ReadOnly=No;

ServerOptions=;

ServerType=Informix Version

例如:

cnnd.ConnectionString = "Provider=MSDASQL;" _

+ "Driver={OpenLink Generic 32 Bit Driver};" _

+ "Host=11.66.17.151;" _

+ "Database=pubs;" _

+ "UID=sa;" _

+ "PWD=asdf;" _

+ "FetchBufferSize=30;" _

+ "NoLoginBox=Yes;" _

+ "Options=;" _

+ "Protocol=TCP/IP;" _

+ "ReadOnly=No;" _

+ "ServerOptions=;" _

+ "ServerType=Informix 7.2"

注:[]中的内容可以省略。

五.实例一瞥:

服务器安装windows 2000 Server操作系统,以Sybase 11.9.2数据库作为服务器端数据库管理数据;客户端安装Windows 98,Sybase客户端程序Open Client,以Visual FoxPro 6.0数据库作为客户端开发工具。扬长避短,相得益彰,充分发挥Sybase数据库安全性、可靠性高,管理数据量大;Visual FoxPrp 6.0数据库开发人员熟悉,开发速度快,程序体积小,运行速度快,占用资源少的特点。

以Sybase 11.9.2为例,编制一个实用的学籍管理程序,以期达到抛砖引玉的效果;数据库名称为Studentdb,只包括一个表(Student),其结构如下: 字段名称 宽度 注释

code nchar (22) 代号

name char (8) 姓名

birthday nchar (8) 生日

grade int 年级

class int 班

tuition numeric (7,2) 学费

maths numeric (5,2) 数学

chinese numeric (5,2) 语文

physicsnumeric (5,2) 物理

chemistrynumeric (5,2) 化学

history numeric (5,2) 历史

geobiology numeric (5,2) 地理

biology numeric (5,2) 生物

gym numeric (5,2) 体育

调试程序时需要注意以下问题:

①.服务器端Sybase数据库服务必须处于启动状态;

②.客户端安装必须选中“√”ODBC Driver组件;

③.客户端通过Open Client程序组中的Dsedit组件配置连接,具体连接操作过程如下:“Dsedit”→“Add Server Object”→输入服务名称(Server Name)→“OK” →“单击”选择所输入服务名称→“单击”“Server Address” →“右键”→“Modify Attributes”→“Add”→选择“TCP”协议→“Network Address”在此输入IP地址和端口号,例:10.23.12.120,5000→“Ping Server”测试是否连通,否则检查机器连接或重复上述过程。

④.注意两种数据库数据类型的对应关系如下表:

Visual FoxPro 6.0数据库数据类型 Sybase数据库数据类型

字符型(C) Char

nchar

nvarchar

varchar

货币型(Y) money

smallmoney

数值型(N) decimal

numeric

浮动型(F) 无

日期型(D) 无

日期时间型(T) datetime

Smalldatetime

双精度型(B) float

Real

整型(I) Int

smallint

tinyint

逻辑型(L) Bit

备注型(M) Text

通用型(G) image

字符型(二进制)(C) 无

备注型(二进制)(M) binary

varbinary

关键程序段:

*连接远程数据源

PROCEDURE Activate

wait window at 12,20 nowait "请稍后!正在连接远程数据源 ......" VarDriver=THISFORM.Text1.value

VarServer=THISFORM.Text2.value

VarDatabase=THISFORM.Text3.value

VarUser=THISFORM.Text4.value

VarPassword=THISFORM.Text5.value

Store sqlstringconnect("Provider=MSDASQL;DRIVER={"+alltrim(VarDriver)+"};

DSN=;SRVR="+alltrim(VarServer)+";DB="+alltrim(VarDatabase)+";UID="+alltrim(VarUser)+";

PWD="+alltrim(VarPassword)) to ConnHandle &&ConnHandle为连接句柄 if ConnHandle<0

=messagebox(space(4)+" 连接远程数据源失败!原因如下:"+chr(10); +"1.“SYBASE信息”参数配置不正确;"+chr(10);

+"2.SYBASE服务("+alltrim(upper(VarServer))+")未启动。",16,"错误提示:")

wait clear

close all

return

else

wait clear

=sqldisconnect(ConnHandle)

endif

ENDPROC

PROCEDURE Release

=sqldisconnect(ConnHandle)

close all

ENDPROC

*查询

&&结果存入自定义游标MathsCursor

=sqlsetprop(ConnHandle,'batchmode',.T.) &&设置一次返回所有结果集 =sqlprepare(ConnHandle,"select code,name,grade,class,maths from student where grade='"+Vargrade+"' and class='"+Varclass+"'","mathscursor") =sqlexec(ConnHandle)

*表单中加入页框控件,表格控件

Visual FoxPro 6.0与大型数据库的无数据源连接(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:光河花园高层住宅楼消防验收申报表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: