2014-06-09 41 views
0

我有一个问题,我已经被称为电网“gridbasica”有和我这样做:VFP电网+ SQL服务器2008 - 网格显示不正确

Thisform.GridBase.RecordSource = "sgviemp" 

sgviemp是通过执行选择由光标使用命令SQLEXEC将其添加到SQLserver。

当我想修改注册表时,我转到另一个表单并在那里执行更新。所以,当我回到与网格形式,该网格不再是一个网格,是一个巨大的白色矩形。

读某人说:删除recordource并再次提醒。

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

我做到这一点,它的工作原理,但是,当我按一下按钮修改再次cursos被更新,但它像第一次修改形式加载犯规的领域。

任何人都可以帮我解决这个问题吗?

在此先感谢。

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

我一直这样做的建议:

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 

和它不网格

回答

3

加载任何东西永远不要破坏并重新创建光标一格的基础上的。相反,使用“安全选择,”在那里你提前创建光标的时候,当你需要重新填充它,你ZAP它并追加新的数据:

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

添马舰

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") 

在查询中,电网源命名为emp_ccodigo,emp_cnombre和emp_cnumrif不codigo,农布雷Ø拉松社会,或者RIF,所以需要做删除“作为”语句。所以它看起来像这样:

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