手把手教你学vfp+sql介绍.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
手把手教你学vfp+sql2000的c/s系统一、基本准备 1、安装SQL个人版+SP4; 2、安装VFP9+SP1+汉化。(看自己中意汉化否) 3、会做一点单机版的项目。 二、准备实施 1、启动SQL企业管理器,选择当前服务器,新建一数据库,命名?cj,在该库下建一表,字段为 ?字段名?类型?宽度 ?编号?C?6 ?姓名?C?8 ?职务?C?10 ?股室?C?10 ?电话?C   11 ?将编号设为主键,保存,命名为?人员表; 三、实施过程 1、新建一项目,名自己定。 2、新建一程序,用来连接服务器,并将服务器上的数据下载到客户端。(因为用到的表比较小,可以整个下载下来,如果表比较大,最好是有选择地下载需要用到的记录) 程序思路如下: 先定义一个连接串nhandle,并使用用户名密码连接相应的数据库,测试连接是否成功。如果成功,则下载表到本地临时表(好象是视图?弄不明白,先当它是表),命名为gh,如果不成功,则提示连接失败,并提示再次连接否。 连接成功并下载好表后,设置表与服务器表的相应更新。(此设置可以为另一种形式,等做好这种形式后可试试另一种) 程序如下: ?public?nhandle?定义连接串名 ?nhandle=sqlstringconnect(driver=sql?server;server=cjc1010;uid=sa;pwd=aa;database=cj)?我的连接类型是?SQL?SERVER,服务器是cjc1010,用户名是sa,密码是aa,数据库是cj if?nhandle0 ?MESSAGEBOX(连接成功!!!) ?sqlexec(nhandle,select?编号,姓名,职务,股室,电话?from?人员表?order?by?编号,gh)?将服务器中的‘人员表’表中的数据读到?gh?表中? ?sele?gh ?cursorsetprop(tables,人员表,gh)?设置临时表的更新目标表 ?cursorsetprop(keyfieldlist,编号,gh)?设置临时表的关键字 ?cursorsetprop(updatablefieldlist,编号,姓名,职务,股室,电话,gh)设置临时表的更新字段 ?cursorsetprop(updatenamelist,编号?人员表.编号,姓名?人员表.姓名,职务?人员表.职务,股室?人员表.股室,电话?人员表.电话,gh)?用gh中的相应字段更新人员表 ?cursorsetprop(sendupdates,.t.,gh)设置为可更新 ?cursorsetprop(wheretype,2) ?cursorsetprop(buffering,5)设置表缓冲 *?do?form?表单1 else ?if?messagebox(数据库连接失败,是否继续连接?,48+4,连接失败提示)=6?回答是 ?return ?else ?quit ?endif endif ? 3、建一表单,用来操作下载到本地的临时表gh并更新服务器表。 A、在表单中放一表格grid1 B、在表单的init里写上 SELECT?gh thisform.grid1.RecordSource=gh?将表格的数据源设置为表gh **********如果想表格好看点,最好能定义一下表格各列的宽度 *thisform.grid1.colunm1.width=40 C、在表单中放新增,删除,保存到服务器,清空服务器数据四个按钮 新增按钮:反正是临时表,直接在表格里新增,以图快。你可以用文本框,这样可以控制是否有重复记录,输入是否符合要求等。至于如何才能达到你的要求,就看你自己的了。 新增按钮的click?过程代码: SELECT?gh APPEND?BLANK thisform.grid1.SetFocus 删除按钮:在C/S里,删除只能打上删除号,不能pack,否则,死得很难看的。Pack要写在表单的退出中。因为不能使用pack,就用了set?filter?to?!dele().这个东东在临时表中好象要移动一下记录指针才生效的。 删除按钮click代码: sele?gh bh=alltrim(编号) xm=alltrim(姓名) set?filter?to?!dele() if?messagebox(bh+xm+的数据删除,将不能恢复,真的要删除吗?,48+4,信息提示)=6?回答是 ?sqlexec(nhandle,delete?from?人员表?where?编号=?bh)删除服务器上相应的记录 ?DELETE?删除临时表中的相应记录,注意不能在这使用pack ENDIF

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档