【问题标题】:VFP Grid + SQL server 2008 - grid not showing correctlyVFP Grid + SQL server 2008 - 网格显示不正确
【发布时间】:2014-06-09 20:12:18
【问题描述】:

我有一个问题,我有一个名为“gridbasica”的网格,我这样做:

Thisform.GridBase.RecordSource = "sgviemp"

sgviemp 是通过使用命令 SQLEXEC 对 SQLserver 执行选择而生成的游标。

当我想修改注册表时,我会转到另一个表单并在那里进行更新。所以,当我回到带有网格的表单时,那个网格不再是网格,而是一个大的白色矩形。

阅读周围有人说:删除记录源并重新创建它。

Thisform.GridBase.RecordSource = ""
*--i do my sqlexe here
Thisform.GridBase.RecordSource = "sgviemp"

我这样做并且它有效,但是,当我再次单击按钮修改时,光标会更新,但修改表单不会像第一次那样加载字段。

谁能帮我解决这个问题?

提前致谢。

--------------- 编辑 ------

我一直按照建议这样做:

lnselect = select(0)
n = SQLEXEC(thisform.conexion,"select emp_ccodigo as Codigo, emp_cnombre as 'Nombre o Razon Social', emp_cnumrif as 'R.I.F'  from sgviempr","sgviemp1")


SET ECHO on
SUSPEND

SELECT sgviemp
ZAP IN sgviemp
*-- browse  *--zaps correctly
*-- SELECT sgviemp1  
*-- browse             *-- sgviemp1  full
APPEND FROM dbf( 'sgviemp1' )
USE IN sgviemp1
*-- BROWSE *--shows sgviemp1 empty

*-- SELECT sgviemp
*-- browse *--shows sgviemp empty too

它不会在网格中加载任何东西

【问题讨论】:

    标签: sql-server database sql-server-2008 visual-foxpro


    【解决方案1】:

    永远不要破坏和重新创建网格所基于的光标。相反,使用“安全选择”,您可以提前创建光标,当您需要重新填充它时,您将其 ZAP 并附加新数据:

    http://fox.wikis.com/wc.dll?Wiki~GridSafeSelect~Wiki

    添马舰

    【讨论】:

      【解决方案2】:

      在这里发现错误:

      n = SQLEXEC(thisform.conexion,"select emp_ccodigo as Codigo, emp_cnombre as 'Nombre o Razon Social', emp_cnumrif as 'R.I.F'  from sgviempr","sgviemp1")
      

      在查询中,网格源被命名为 emp_ccodigo 、emp_cnombre 和 emp_cnumrif NOT codigo、Nombre o Razon Social 或 R.I.F,因此需要删除“as”语句。所以它看起来像这样:

      n = SQLEXEC(thisform.conexion,"select emp_ccodigo, emp_cnombre, emp_cnumrif from sgviempr","sgviemp1")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多