配色: 字号:
第12章
2016-06-21 | 阅:  转:  |  分享 
  
第12章PB/SQLServer开发与编程12.1连接SQLServer数据库12.1连接SQLServer数据库12.
1连接SQLServer数据库12.1连接SQLServer数据库12.1连接SQLServer数据库12.1
连接SQLServer数据库12.1连接SQLServer数据库12.1连接SQLServer数据库12.2
事务对象12.2事务对象12.2事务对象12.2事务对象12.2事务对象12.2事务对象
12.2事务对象12.2事务对象12.3在应用程序中访问数据库的方法1.建立ODBC数据源的连接(
1)建立ODBC数据源第1步在如图12.1所示的应用程序画板中,点击数据库配置图标,进入数据库配置(DataBaseProf
iles)画板,展开ODBODBC图标,然后展开Utilities文件夹,如图12.2所示;第2步在图12.2所示的界面中
,单击CreateODBCDataSource图标,出现如图12.3所示的界面;第3步在图12.3所示的界面中,选择数据
源类型为“用户数据源”(或“系统数据源”),点击“下一步”,出现如图12.4所示的界面,在此界面中选择驱动程序为“SQLServ
er”,点击“下一步”;第4步按照提示步骤,进入如图12.5所示的界面,并指定数据源名称(在此为MSSQL1)和连接的服务器点
击“下一步”,进入如图12.6所示的界面;第5步图12.6所示的界面中,指定服务器登录方式,登录账号和密码,点击“下一步”,进
入如图12.7所示的界面,在此界面中设置默认数据库为“XSCJ”,点击“下一步”,则完成了ODBC数据源的设置。(2)建立数据库
配置文件第6步在如图12.8所示的数据库配置画板中,点击“New”按钮,出现如图12.9所示的界面,在界面中指定配置文件名(在
此为myfile)、数据源(在此为mssql1)等参数,然后点击“OK”按钮;出现图12.10所示的界面。2.通过SQLSe
rver专用接口建立数据库连接第1步在图12.10所示的数据库配置文件画板中,选中MSSMicrosoftSQLServ
er专用接口图标,点击“New”命令按钮,出现如图12.11所示的界面;第2步在图12..11所示的界面中指定配置文件名(在此
为myfile1),将登录的服务器名、登录账号及密码、要连接的数据库(XSCJ),然后点击“OK”按钮,此时在MSSMicros
oftSQLServer专用接口图标下出现myfile1数据库配置文件图标,如图12.12所示。前面建立了数据库配置文件m
yfile1,并连接到数据库XSCJ,点击图12.1所示数据库画板图标按钮,进入如图12.13所示的数据库画板在PB应用程序中
,如果要连接和操作数据库必须首先建立事务对象,其工作原理如图12.14所示。1.使用事务对象连接数据库在PB应用程序中,对数据
库操作的步骤如下:(1)为事务对象属性赋值;(2)连接到数据库;(3)根据需要,将事务对象赋值给DataWindow控件或D
ataStore对象;(4)执行数据库操作;(5)断开与数据库连接。2.事务对象的属性1)直接在程序中通过字符串赋值//
如下代码对默认事务对象SQLCA的属性赋值SQLCA.DBMS=”MSS”SQLCA.Database=”XSCJ”SQLC
A.ServerName=”DLGC-YPOOL0LRW4”SQLCA.LogId=”sa”SQLCA.LogPass=”li
u”SQLCA.AutoCommit=falseSQLCA.DBParm=””//如下代码连接到数据库CONNECTUS
INGSQLCA; //嵌入式SQL语句必须以分号结尾IFSQLCA.SQLCode<0thenMes
sageBox(“不能连接到数据库!”,SQLCA.SQLErrText,StopSign!,OK!)//返回代
码//操作数据库的代码//断开与数据库连接的代码DISCONNECTUSINGSQLCA; //嵌入式SQL语句必须
以分号结尾IFSQLCA.SQLCode<0thenMessageBox(“断开数据库连接时出错!”,SQ
LCA.SQLErrText,StopSign!,OK!)//返回代码事务对象属性列表?返回与出错代码
对应的数据库出错信息StringSQLErrText?返回数据库出错代码LongSQLDBCode?返回操作成功或
失败的代码0:表示成功;-1:表示操作失败100:表示无有效记录。LongSQLCode?返回的特定的DBMS信息S
tringSQLReturnDataDBParmODBC数据源连接数据库的参数StringDBParmAutoComm
itModeTrue自动提交事务,False(默认)则用Commit语句提交事务BooleanAutoCommitSer
verName数据库服务器名StringServerNameLoginPassword登录数据库服务器的密码Str
ingLogPassLoginID登录数据库服务器的账号StringLogIDIsolatgionLevel数据
库的使用级别StringLockPassword连接数据库的口令StringDBPassUserID连接数据库的
用户名StringUserIDDatabaseName要连接的数据库名StringDatabaseDBMS要连接
的DBMS标识,SQLServer的DBMS标识为MSSStringDBMSProfile字段含义数据类型属性2)
从初始化文件读入属性值(1)建立初始化文件根据需要,修改后的myfile1.ini文件内容如下:[DBMS_PROFILE
S] //节名Profiles=myfile1 //通过关键字Profiles指定配置文件[database
] //节名DBMS=MSSDatabase=xscjUserId=DatabasePasswor
d=ServerName=dlgc-ypool0lrw4DBParm=Lock=Prompt=FALSEAutoComm
it=FALSE(2)从初始化文件读取属性值建立初始化文件后,通过函数ProfileString()读取属性值,方法如下:
ProfileString(file,section,key,default)file:指定初始化文件名;section:指
定属性所在的节名;key:指定属性所对应的关键字;default:如果没有读到指定的属性值则用此默认值。3.自定义事务对象
用户除可使用系统默认的事务对象SQLCA外,还可自定义事务对象,其使用步骤如下:(1)定义事务对象变量,并建立事务对象实例;(
2)给事务对象属性赋值并连接数据库;(3)对数据库进行操作(4)断开数据库连接并释放事务对象。第1步设计如图12.16所示
的应用程序界面,在该应用程序建立一个应用对象和一个窗口对象,并放置相应的控件;第2步建立如前所述的数据库配置文件myfile1
,初始化文件myfile1.ini;(1)应用对象exp的代码定义全局事务变量transactiondbtrans
//定义全局事务对象dbtrans应用对象expopen事件代码open(w_1)
//打开窗口对象w_1(2)窗口对象w_1及其控件的事件驱动代码“连接”按钮cb_1的click事件代码dbtrans=
createtransaction //创建事务对象实例dbtrans.DBMS=ProfileString("myf
ile1.ini","database","DBMS","")dbtrans.Database=ProfileString("
myfile1.ini","database","database","")dbtrans.ServerName=Profil
eString("myfile1.ini","database","servername","")dbtrans.LogId=
sle_1.textdbtrans.LogPass=sle_2.textdbtrans.AutoCommit=Profil
eString("myfile1.ini","database","AutoCommit","")connectusing
dbtrans;//如果使用SQLCA默认事务对象,using子句可省,自定义事务对象不能省第3步设计代码“插入
”按钮cb_2的click事件代码stringstr1,str2,str3,str4intt1intt2dated
atstr1=sle_3.text //输入学号str2=sle_4.text //输入姓
名str3=sle_5.text //输入专业名ifrb_1.checkedthen //判断输
入的性别 t1=1else t1=0endifdat=date(em_1.text) //输入出生年月
t2=integer(sle_7.text) //输入总学分str4=mle_1.text //输入备注内容insertintoxsvalues(:str1,:str2,:str3,:t1,:dat,:t2,:str4)usingdbtrans;//using子句不能省略“断开”按钮cb_3的click事件代码disconnectusingdbtrans; //断开与数据库的连接destroydbtrans //删除自定义事务对象
献花(0)
+1
(本文系信检彭博海...首藏)