?

用VFP+SQLSERVER實現C/S架構的學籍管理系統*

2010-12-13 03:41易學文
黃岡職業技術學院學報 2010年2期
關鍵詞:文本框表單語句

易學文

(黃岡職業技術學院招生處,湖北黃岡,438002)

用VFP+SQLSERVER實現C/S架構的學籍管理系統*

易學文

(黃岡職業技術學院招生處,湖北黃岡,438002)

采用VFP作前臺開發工具,SQLSERVER作后臺數據庫服務器,設計C/S架構的學籍管理系統,并以實例介紹實現VFP與SQLSERVER的連接、增加、修改、刪除、查詢等方法。

VFP;SQLSERVER;學籍管理系統

VFP(Visual FoxPro)以簡單易學、可快速建立應用程序等特點深受廣大程序員喜愛。但是,VFP存在數據安全性欠佳、保密性較差的缺點,只適合開發桌面型數據庫管理系統。SQL SERVER是大型數據庫管理系統,在數據安全性、保密性等方面都有顯著優勢,可以很好的支持客戶端/服務器(Client/Server)架構的大中型數據庫系統。很多程序員都采用VB+SQL SERVER、VC+SQL SERVER、DEPHI+SQL SERVER實現C/S架構的數據庫管理系統,其實,用VFP+SQL SERVER也能夠實現[1]。本文以學籍管理系統為例,談談用VFP+SQL SERVER實現C/S架構的方法。

1 服務器端數據庫設計

在服務器上安裝數據庫SQL SERVER2000,建立學籍管理數據庫XJGL,并在數據庫中建立數據表,包括用戶表、權限表、授權表、班級表、學生表、考核表、異動表等,本例僅介紹學生表(表名為xsb),表結構如下:

XH CHAR 12 否 學號,主鍵KSH CHAR 14 是 考生號BJ CHAR 10 是 班級XM VARCHAR 20 是 姓名XB CHAR 2 是 性別SFZH CHAR 18 是 身份證號JTDZ VARCHAR 100 是 家庭地址YZBM CHAR 6 是 郵編DH VARCHAR 50 是 電話BZ VARCHAR 50 是 備注信息

2 客戶端程序設計

客戶端程序設計主要是完成與數據庫的連接和各功能模塊的實現。VFP和SQL SERVER實現C/S架構,其連接技術可以通過遠程視圖、ADO控件和SPT(Sql Pass Through)三種方式進行。SPT(Sql Pass Through)是指可以將任何符合SQL SERVER語法的命令從前端通過連接通道送至后端的SQL SERVER來執行,前端與后端可以進行直接、有效的溝通。VFP中SPT(Sql Pass Through)是通過函數來完成的,常用的函數有:

SQLSTRINGCONNECT()

使用連接字符串建立數據連接

SQLDISCONNECT()

終止與數據源的連接

SQLEXEC()

將SQL語句送入數據源中處理

SQLCANCEL()

取消正在執行的SQL語句[2]

本文采用SPT方式實現與數據庫的連接,即首先利用 SQLSTRINGCONNECT()與 SQL SERVER建立連接,然后用SQLEXEC()函數把要執行的SQL命令送到SQL SERVER上去執行,所有對數據的操作都是通過這些SQL命令來進行的。

2.1 建立過程和函數文件

建立程序文件conn.prg,包含連接、斷開、查詢等過程和函數。con-data為連接過程,dis-data為斷開連接過程,sql-cx1是查詢過程。服務器為hgzy,數據庫為xjgl,數據庫超級用戶為sa,密碼為sa,程序代碼如下:

MESSAGEBOX(“數據庫連接失敗!”,16,“錯誤信息”)

MESSAGEBOX(“讀取數據錯誤!”,16,“錯誤信息”)

連接過程 Con-data,利用 VFP提供的 SQLSTRINGCONNECT函數實現與SQLSERVER的連接,如果連接成功,SQLSTRINGCONNECT函數返回正的、非零句柄,否則連接失敗。只有與SQLSERVER數據庫連接成功,才能對其進行添加、修改、刪除、查詢等操作。斷開連接過程Dis-data,利用VFP提供的SQLDISCONNECT函數實現終止與數據庫的連接。查詢過程sql-cx1,利用VFP提供的SQLEXEC函數,本例將一條SQL語句送到SQLSERVER中處理,查詢結果保存在臨時表mycx1.dbf中。執行SQLEXEC函數將返回一個數值,如果此數值小于0,則表示執行失敗,否則執行成功[3]。

2.2 表單設計

在VFP中建立表單,表單包括10個文本框,分別用于輸入和修改學生表的信息,1個表格控件(設置為只讀屬性,即ReadOnly=.T.),顯示學生表數據,5個命令按鈕,分別為添加、修改、刪除、重置、退出。

2.2.1 設置表單初始化事件和釋放表單對象代碼

表單運行時,首先連接數據庫,如果連接失敗,提示出錯信息,并返回。連接成功后,指定表格的數據源,即學生表的查詢結果mycx1。表單的init事件代碼如下:

表單退出時,關閉臨時表,表單的unload事件代碼如下:

2.2.2 設置表格的單擊(click)事件和改變表格單元格焦點(AfterRowColChange)事件

單擊表格或移動表格中的光標,文本框顯示當前記錄學生信息。分別在表格的click和AfterRow-ColChange事件中添加代碼,代碼設計為:首先選擇工作區,即SELECTmycx1,然后將mycx1表中當前記錄字段數據分別顯示在文本框text1至tex10中,如Thisform.text1.value=xh,……,最后,刷新數據,Thisform.refresh。

2.2.3 添加按鈕click事件代碼

將文本框中的值添加到服務器的學生表xsb中,程序設計如下:首先將10個文本框的值分別賦值給10個變量tx1至tx10,如tx1=thisform.text1.value,……,然后在mycx1表中,判斷新增學號是否存在,如果存在此學號不允許添加,不存在此學號(即xsb表中沒有)則添加記錄。此部分代碼為:

MESSAGEBOX(“學號[”+tx1+“]已存在!不能添加”,16,“錯誤信息”)

MESSAGEBOX(“信息增加失敗!”,16,“信息提示”)

MESSAGEBOX(“信息增加成功!”,15,“信息提示”)

ENDIF

2.2.4 修改按鈕click事件代碼

選擇表格中的學生,然后在文本框中修改,點擊修改命令按鈕,完成修改操作。代碼設計與添加按鈕類似,即去掉添加按鈕的“判斷新增學號是否存在,如果存在不允許添加”的查找和判斷語句,然后將“SQL插入記錄語句”改為以下語句即可。

str1=“UPDATE xsb SET xh=?tx1,ksh=?tx2,bj=?tx3,xm=?tx4,xb=?tx5,sfzh=?tx6,jtdz=?tx7,yzbm=?tx8,dh=?tx9,bz=?tx10 WHERE xh=?tx1”&&SQL修改記錄語句

2.2.5 刪除按鈕click事件代碼

在表格中選擇要刪除的記錄,然后點擊刪除按鈕,刪除學生表中的記錄,代碼如下:

IFMESSAGEBOX(“學號:”+xh+“姓名:”+xm1+chr(13)+“真的要刪除此學生信息嗎?”,32+1,“提示”)=1

MESSAGEBOX(“刪除失敗!”,16,“信息提示”)

2.2.6 重置按鈕click代碼

將10個文本框內容重置為空,代碼如下:

2.2.7 退出按鈕的click事件代碼DO dis-data in conn RELE THISFORM

3 結束語

用VFP+SQL SERVER搭配做C/S架構的網絡數據庫系統,解決了VFP作為獨立數據庫的不足,為VFP愛好者開發大中型數據庫管理系統提供了良好的開發平臺。

[1]王平水.基于VFP6.0的C/S結構數據庫系統的開發[J].電腦知識與技術,2008.

[2]林華.VFP/SQL SERVER設計C/S系統.湖南科技學院學報,2005.

[3]Microsoft Corporation.Visual FopxPro6.0中文版語言參考手冊[Z].北京希望電腦公司,1999.

The Status Management System of C/S Realized by VFP+SQLSERVER

YI Xue-wen
(Huanggang Polytechnic College,Huanggang,438002,Hubei)

Applying the VFP as the developing tool,the SQLSERVER as the database server,design the C/S status management system,and introduce the connection,increase,edition,delete,search,etc.with examples.

VFP;SQLSERVER;Status management system

TP311.1

A

1672-1047(2010)02-0019-03

10.3969/j.issn.1672-1047.2010.02.06

2010-3-20

易學文(1977-),男,副主任科員。Email:yiw@hgpu.edu.cn

[責任編校:秦春娥]

猜你喜歡
文本框表單語句
電子表單系統應用分析
巧用文本框實現PPT多圖片排版
重點:語句銜接
PPT文本框的另類應用
淺談網頁制作中表單的教學
文本框酷變3D效果
如何搞定語句銜接題
動態表單技術在教學管理中的應用*
基于Java可視化測繪生產流程表單的設計及實現
文本框在地理課件中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合