版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、手把手教你学vfp+sql2000的c/s系统一、基本准备 1、安装SQL个人版+SP4; 2、安装VFP9+SP1+汉化。(看自己中意汉化否) 3、会做一点单机版的项目。 二、准备实施 1、启动SQL企业管理器,选择当前服务器,新建一数据库,命名 cj,在该库下建一表,字段为 字段名 类型 宽度 编号 C 6 姓名 C 8 职务 C 10 股室 C 10 电话 C11 将编号设为主键,保存,
2、命名为 人员表; 三、实施过程 1、新建一项目,名自己定。 2、新建一程序,用来连接服务器,并将服务器上的数据下载到客户端。(因为用到的表比较小,可以整个下载下来,如果表比较大,最好是有选择地下载需要用到的记录) 程序思路如下: 先定义一个连接串nhandle,并使用用户名密码连接相应的数据库,测试连接是否成功。如果成功,则下载表到本地临时表(好象是视图?弄不明白,先当它是表),命名为gh,如果不成功,则提示连接失败,并提示再次连接否。 连接成功并下载好表后,设置表与服务器表的相应更新。(此设置可以为另一种形式,等做好这种形式后可试试另一种) 程序如下: public
3、160;nhandle &&&定义连接串名 nhandle=sqlstringconnect("driver=sql server;server=cjc1010;uid=sa;pwd=aa;database=cj") &&&我的连接类型是 SQL SERVER,服务器是cjc1010,用户名是sa,密码是aa,数据库是cj if nhandle>0 MESSAGEBOX('连接成功!') sqlexec(nha
4、ndle,"select 编号,姓名,职务,股室,电话 from 人员表 order by 编号","gh") &&将服务器中的人员表表中的数据读到 gh 表中 sele gh cursorsetprop("tables","人员表","gh") &&设置临时表的更新目标表 cursorsetprop(&qu
5、ot;keyfieldlist",'编号',"gh") &&设置临时表的关键字 cursorsetprop("updatablefieldlist","编号,姓名,职务,股室,电话","gh")&&设置临时表的更新字段 cursorsetprop("updatenamelist","编号 人员表.编号,姓名 人员表.姓名,职务 人员表.职务,股室 人员表.
6、股室,电话 人员表.电话","gh") &&&用gh中的相应字段更新人员表 cursorsetprop("sendupdates",.t.,"gh")&&设置为可更新 cursorsetprop("wheretype",2) cursorsetprop("buffering",5)&&设置表缓冲 * do form 表单1 else
7、if messagebox("数据库连接失败,是否继续连接?",48+4,"连接失败提示")=6 &&回答"是" return else quit endif endif 3、建一表单,用来操作下载到本地的临时表gh并更新服务器表。 A、在表单中放一表格grid1 B、在表单的init里写上 SELECT gh thisform.grid1.RecordSource='gh' &&&am
8、p;将表格的数据源设置为表gh *如果想表格好看点,最好能定义一下表格各列的宽度 *thisform.grid1.colunm1.width=40 C、在表单中放新增,删除,保存到服务器,清空服务器数据四个按钮 新增按钮:反正是临时表,直接在表格里新增,以图快。你可以用文本框,这样可以控制是否有重复记录,输入是否符合要求等。至于如何才能达到你的要求,就看你自己的了。 新增按钮的click 过程代码: SELECT gh APPEND BLANK thisform.grid1.SetFocus 删除按钮:在C/S里,删除只能打上删除号,不能pack,否则,死得很难看
9、的。Pack要写在表单的退出中。因为不能使用pack,就用了set filter to !dele().这个东东在临时表中好象要移动一下记录指针才生效的。 删除按钮click代码: sele gh bh=alltrim(编号) xm=alltrim(姓名) set filter to !dele() if messagebox(bh+xm+"的数据删除,将不能恢复,真的要删除吗?",48+4,"信息提示")=6 &&回答"是" &
10、#160;sqlexec(nhandle,"delete from 人员表 where 编号=?bh")&&&删除服务器上相应的记录 DELETE &&&&删除临时表中的相应记录,注意不能在这使用pack ENDIF *以下是移动指针 if delete() if !eof() skip else if recn()>1 skip -1 endif endif en
11、dif thisform.grid1.setfocus 保存按钮:因为临时表直接绑到了表格中,在录入时就保存了,这里主要是指将临时表中的数据更新到服务器的表中,代码很简单。 保存按钮的click代码: select gh TABLEUPDATE(.t.) 清空服务器相应数据表按钮:相当于本地表的zap Click代码如下: select gh if messagebox("你正在执行的操作是清空服务器的数据,真的要清空吗?",48+4,"信息提示")=6 &&回答"是"
12、0;sqlexec(nhandle,"truncate table 人员表") &&清空服务器数据表 ENDIF 至此,已基本完工。在程序中加上一句 Do form 表单 运行程序试一试?应该早就试了,我至此已运行很多次试了的。 4、完善一些功能。 A、表格的afterrowcolchange:我是不想每增加一个记录都去按一次新增按钮,于是就采用allowaddnew。 SELECT gh mand2.Caption='删除 '+ALLTRIM(编号)+ALLTRIM(姓名
13、) IF !EMPTY(ALLTRIM(编号) thisform.grid1.allowaddnew= .T. ELSE thisform.grid1.allowaddnew=.f. ENDIF B、表单的init:为了让刚才的allowaddnew生效,我先判断gh是否有记录,如果没有就先加个空记录。然后定义一下表格各列的宽度。 SELECT gh if recc()=0 appe blan endif with thisform.grid1 .recordsource=&
14、#39;gh' .columncount=5 .column1.controlsource='gh.编号' .column1.width=30 .column2.controlsource='gh.姓名' .column2.width=60 .column3.controlsource='gh.职务' .column3.width=60 .column4.controlsource='gh.股室' .column4.
15、width=60 .column5.controlsource='gh.电话' .column5.width=90 ENDWITH 五、用VFP创建SQL表* Copyright (c) 2003,成都晓进软件工作室* All rights reserved.* 文件名称:CreateSQLTable* 摘 要:创建后端SQL Server 用户数据表* 当前版本:1.0* gcDSN=
16、39;192.168.0.80'gcUID='sa'gcPWD=''gcSQLDatabase='资料管理'=SQLSETPROP(0,"DispLogin",3)gnHandle =SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&gcSQLDatabase")IF NOT USED("cfg")USE c:资料管理tmpcfg.dbf
17、ENDIFSELECT cfgIF cfg.codetable=.t. && 代码表SQLEXEC(gnHandle,"CREATE TABLE 代码表 (ID int not null IDENTITY (1,1) PRIMARY KEY)")SQLEXEC(gnHandle,"ALTER TABLE 代码表 ADD 类型 char (10)
18、0; null")SQLEXEC(gnHandle,"ALTER TABLE 代码表 ADD 代码 char (20) null")SQLEXEC(gnHandle,"ALTER TABLE 代码表 ADD 名称 char (40) null")ENDIFIF cfg.colldata=.T. && 资料收集SQLEXEC(gnHandle,"
19、;CREATE TABLE 资料收集 (ID int not null IDENTITY (1,1) PRIMARY KEY)")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 接收日期 datetime null") && 默认值:系统日期SQLEXEC(gnHandle,"ALTER TABLE 资料收集
20、160;ADD 序号 Int null") && 自动SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 接收人 char (8) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 送交人 char (8) null")SQLEXEC(gnH
21、andle,"ALTER TABLE 资料收集 ADD 文件号 char (30) null") && 原为“文件编号”SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 标准代号 char (30) null") && 新增SQLEXEC(gnHandle,"A
22、LTER TABLE 资料收集 ADD 标准名称 varchar (200) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 译名 varchar (200) null") && 新增SQLEXEC(gnHandle,"ALTER TA
23、BLE 资料收集 ADD 实施日期 smalldate null") && 新增 标准的“实施日期”SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 编制单位 varchar (60) null") && 新增SQLEXEC(gnHandle,"ALTER T
24、ABLE 资料收集 ADD 文件编制 varchar (100) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 文种 char (10) null") && 新增SQL
25、EXEC(gnHandle,"ALTER TABLE 资料收集 ADD 机构代号 varchar (30) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 标准年份 int null") && 新增SQLEXEC(gnHandle,"
26、ALTER TABLE 资料收集 ADD 内部编号 char (30) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 文件编码 char (30) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集
27、0;ADD 文件名 char (200) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 文件状态 char (6) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 载体
28、 char (6) null") && 新增SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 工程代号 char (30) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 工程名称 varchar (80) null") &am
29、p;&SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 原文号 text null") &&SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 总帐号 Int null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 设计阶段 char
30、(20) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 版次 char (2) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 题目 varchar (200) null") &&SQLEXEC(gnHandle,"ALTER TABLE 资料收集
31、;ADD 关键词 char (30) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 密级 char (4) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 归档份数 Int null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集
32、;ADD 页数 Int null") && 原为每册页数SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 底图张数 Int null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 保管期限 char (4) null")SQLEXEC(gnHandle,"ALTER TA
33、BLE 资料收集 ADD 责任者 varchar (80) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 形成时间 char (22) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 入库时间 smalldatetime null")SQLEXEC(gnHandle,&qu
34、ot;ALTER TABLE 资料收集 ADD 手稿 Int null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 获奖等级 char (4) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 备注 text null") &&原为 c
35、har(60)SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 资料库别 char (10) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 电子文件名 char (20) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 全息浏览级别 char
36、160;(8) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 校对 char (20) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 审查 char (14) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 审定
37、0;char (14) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 归档单位 varchar (100) null") &&SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 修改 char (1) null")SQLEXEC(gnHandle,"ALTER TABLE&
38、#160;资料收集 ADD 借阅标识 char (20) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 文件剩余份数 Smallint (2) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 归档标志 int null")SQLEXEC(gnHandle,"ALTER
39、60;TABLE 资料收集 ADD 归档申请人 char (8) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 归档申请时间 smalldatetime null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 归档接收人 char (8) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 归档接收时间 smalldatetime null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 入库标志 char (1) null")SQLEXEC(gnHandle,"ALTER TABLE 资料收集 ADD 入库申请人 char
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海旅游高等专科学校《安全人机工程》2025-2026学年第一学期期末试卷(A卷)
- 上海政法学院《安全经济原理与实践》2025-2026学年第一学期期末试卷(A卷)
- 护理研究中的质性方法
- 新生儿ARDS的护理应急预案
- 二建年真题及答案
- 电大英语考试试题及答案
- 上海现代化工职业学院《Android 应用程序设计》2025-2026学年第一学期期末试卷(A卷)
- 上海海洋大学《安全心理学》2025-2026学年第一学期期末试卷(A卷)
- 上海海关学院《安装工程计量与计价》2025-2026学年第一学期期末试卷(A卷)
- 智能交通考试题库及答案
- 2026年设备出售转让合同(1篇)
- 2026年事业单位面试结构化100例
- 河南省农村中小学闲置校园校舍的调查与再生路径研究
- 黑龙江省控制性详细规划编制规范
- 饮用水水质PH值安全控制检测标准
- 2026中考英语时文热点:跨学科融合阅读 练习(含解析)
- 骨科护理常规与护士专业素养提升
- 物业电工安全操作培训课件
- 机房精密空调更换施工方案
- (2025年)吉林事业单位考试真题附答案
- 公安预审学课件
评论
0/150
提交评论