zoukankan      html  css  js  c++  java
  • 在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

  • 相关阅读:
    中缀表达式求值
    520的信心赛——点点玩deeeep
    520的信心赛——麓麓学数学
    l洛谷 (水题)P4144 大河的序列
    洛谷 P3391 【模板】文艺平衡树(Splay)
    在洛谷3369 Treap模板题 中发现的Splay详解
    洛谷 P1344 [USACO4.4]追查坏牛奶Pollutant Control
    洛谷 P1678 烦恼的高考志愿
    洛谷 P2421 A-B数对(增强版)
    P3381 【模板】最小费用最大流
  • 原文地址:https://www.cnblogs.com/pzwsoft/p/3529822.html
Copyright © 2011-2022 走看看