在VFP6中模拟CursorAdapter的功能
这个是我在2002年做的一个VFP程序中实现的方法, 现在看来功能和VFP8,9中的CursorAdapter非常相似, 因为属性设置有许多相同的地方,我甚至怀疑CA就是就是在这样的基础上再包装出来的类.
以下是程序:
与数据库的连接:
nConnectHandle = sqlstringconnect("DRIVER=SQL Server;SERVER=" + cDbServer + ;
";UID=" + cUserName + ;
";PWD=" + cPassword + ;
";DATABASE=" + cDatabaseName)
if nConnectHandle > 0 && 与服务器连接成功
endif
表单的init中:
local cSQLcommand
this.lockscreen = .f.
cSQLcommand = "select department.bmdm, department.bmmc, company.dwmc, department.dwxtbh, department.xtbh " + ;
"from department, company where department.dwxtbh = company.xtbh order by company.dwdm, department.bmdm"
do while sqlexec(nConnectHandle, cSQLcommand, 'department') = 0 && 远程操作
enddo
= cursorsetprop('SendUpdates', .t., 'department')
= cursorsetprop('Tables', 'dbo.department', 'department')
= cursorsetprop('UpdatableFieldList', 'bmdm, bmmc, dwxtbh', 'department')
= cursorsetprop('UpdateNameList', 'bmdm dbo.department.bmdm, bmmc dbo.department.bmmc, dwxtbh dbo.department.dwxtbh, xtbh dbo.department.xtbh', 'department')
= cursorsetprop('KeyFieldList', 'xtbh', 'department')
with this.grid1
.columncount = -1
.recordsource = 'department'
.recordsourcetype = 1
.columns(1).header1.caption = '部门代码'
.columns(2).header1.caption = '部门名称'
.columns(3).header1.caption = '单位名称'
.columns(4).header1.caption = '单位系统编号'
.columns(5).header1.caption = '系统编号'
.SetAll("DynamicBackColor","IIF(MOD(RECNO('department'),2)=0,RGB(255,255,255),RGB(230,230,255))","Column") &&交替显示白色和蓝色的记录
endwith
this.lockscreen = .f.
添加click:
local lResult, cBmmc
insert into department(bmdm, bmmc, dwxtbh) values('', '', 0)
do form d_bmkp to lResult
select department
if lResult
if tableupdate(.t., .f., 'department')
cBmmc = department.bmmc
wait '添加成功' window nowait
thisform.opentable()
select department
locate all for bmmc = cBmmc
thisform.grid1.refresh
else
= tablerevert(.t., 'department')
wait '添加失败' window nowait
endif
else
= tablerevert(.t., 'department')
endif
编辑click:
local lResult, cBmmc
do form d_bmkp to lResult
select department
if lResult
if tableupdate(.t., .f., 'department')
cBmmc = department.bmmc
wait '编辑成功' window nowait
thisform.opentable()
select department
locate all for bmmc = cBmmc
thisform.grid1.refresh
else
= tablerevert(.t., 'department')
wait '编辑失败' window nowait
endif
else
= tablerevert(.t., 'department')
endif
删除click:
if messagebox('你确认要删除吗?', 4 + 32 + 256, '信息') = 6 && YES
delete in department
if tableupdate(.t., .f., 'department')
thisform.grid1.refresh
wait '删除成功' window nowait
else
= tablerevert(.t., 'department')
wait '删除失败' window nowait
endif
endif
在VFP6中模拟CursorAdapter的功能的更多相关文章
- 实现CheckBox的三种选中状态(全选、半选、不选)在GridView中模拟树形的功能
度娘了很多帖子,只说三种状态要用图片替换来做,但没找到有用的例子,被逼自己写了一个 三方控件肯定是很多的,如jstree,可以直接用 由于公司的UDS限制,不能上传图片,只能文字说明了. 就是要在gr ...
- 编写函数模拟strcpy()函数功能
strcpy(字符数组1,字符串2) strcpy( )用于将字符串2复制到字符数组1中 /* strcpy(字符数组1,字符串2) strcpy( )用于将字符串2复制到字符数组1中 模拟strcp ...
- 【转】MySQL中增加sequence管理功能(模拟创建sequence)
1.oracel可以直接支持sequence,但是mysql不支持sequence,因此我们要通过模拟sequence的方法在mysql中创建sequence.模拟sequence的方法:项目场景:项 ...
- Windows 10 版本 1507 中的新 AppLocker 功能
要查看 Windows 10 版本信息,使用[运行]> dxdiag 回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...
- js模拟实现继承功能
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 在SoapUI中模拟用户操作
SoapUI作为一款接口测试工具,具有极大的灵活性和拓展性.它可以通过安装插件,拓展其功能.Selenium作为一款Web自动化测试插件可以很好的与SoapUI进行集成.如果要在SoapUI中模拟用户 ...
- C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】
C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...
- C# 中一些类关系的判定方法 C#中关于增强类功能的几种方式 Asp.Net Core 轻松学-多线程之取消令牌
1. IsAssignableFrom实例方法 判断一个类或者接口是否继承自另一个指定的类或者接口. public interface IAnimal { } public interface ID ...
- ListView模拟微信好友功能
ListView模拟微信好友功能 效果图: 分析: 1.创建listView 2.创建数据 3.创建适配器 将数据放到呈现数据的容器里面. 将这个容器(带数据)连接适配器. 其实是直接在我们自己写的a ...
随机推荐
- 转 Android RadioButton设置选中时文字和背景颜色同时改变
主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿. 搜了一下,效果和这个文章一致.转了. 原文地址:http:// ...
- JS组件系列——Bootstrap Table 表格行拖拽
前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到 ...
- JavaScript模板引擎artTemplate.js——为什么使用模板引擎?
作为一个工作一年的菜鸟,在公司做了几个外包项目,也接触到了不同形式的web开发.其实也没多少,就是javaweb开发和HTML5移动开发,这两者在页面展示的时候的解决方案还是有所不同的. 1.vo+e ...
- spring-poi-excle往单元格写入图片
HSSF是POI工程对Excel 97(-2007)文件操作的纯Java实现 XSSF是POI工程对Excel 2007 OOXML (.xlsx)文件操作的纯Java实现 在POI中有HSSFPat ...
- CSS3选择器:nth-of-type
碰到了个选择器,:nth-of-type <!DOCTYPE html> <html> <head> <meta http-equiv="Conte ...
- cxf 调用 webservice服务时传递 服务器验证需要的用户名密码
cxf通过wsdl2java生成客户端调用webservice时,如果服务器端需要通过用户名和密码验证,则客户端必须传递验证所必须的用户名和密码,刚开始想通过url传递用户名和密码,于是在wsdl文件 ...
- php htmlentities函数的问题
看到在细说php第二版教程中的函数htmlentities 例子,实际实验没有效果 $str = "一个 'quote' 是<b>bold</b>";ech ...
- entity1
- 适配iOS10以及Xcode8
现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本, ...
- php数组函数分析--array_column
array_column 官方地址:array_column array_column 只能在 PHP版本5.5以上的运行,5.3是不支持这个函数的.如果5.3使用会报: Fatal error: C ...