注册 登录
编程论坛 VFP论坛

请教这样用CA数据有时不能保存数据是什么问题?

wxzd123 发布于 2022-02-19 10:48, 1426 次点击
在表单INIT下代码:
Public ca
ca=Createobject("CursorAdapter")
With ca
    .Alias = 'xsb'  
    .Datasource=con  
    .DataSourceType = 'odbc'
    .SelectCmd = "select 学号,姓名,语文,数学,英语 from xsb  "   
    .KeyFieldList = '学号'  
    .Tables = "xsb"  
    .UpdatableFieldList = "学号,姓名,语文,数学,英语"
    .UpdateNameList ="学号 xsb.学号,姓名 xsb.姓名,语文 xsb.语文,数学 xsb.数学,英语 xsb.英语"   
    .CursorFill()   
Endwith
Select xsb
CursorSetProp("buffering",3)
Thisform.Grid1.RecordSource ="xsb"
Thisform.Grid1.ColumnCount =5
Thisform.Grid1.Columns(1).header1.Caption='学号'
Thisform.Grid1.Columns(1).ControlSource='学号'
Thisform.Grid1.Columns(2).header1.Caption='姓名'
Thisform.Grid1.Columns(2).ControlSource='姓名'
Thisform.Grid1.Columns(3).header1.Caption='语文'
Thisform.Grid1.Columns(3).ControlSource='语文'
Thisform.Grid1.Columns(4).header1.Caption='数学'
Thisform.Grid1.Columns(4).ControlSource='数学'
Thisform.Grid1.Columns(5).header1.Caption='英语'
Thisform.Grid1.Columns(5).ControlSource='英语'
修改后保存
Select xsb
Tableupdate(.T.)
有时能保存有时不能,不知道问题出在哪?请老师帮忙指导一下,谢谢
5 回复
#2
laowan0012022-02-19 11:29
这些语句放在form的INIT里貌似不合适,特别是thisform.grid1那些,我通常放在thisform.grid1.init或refresh里
#3
wxzd1232022-02-19 14:37
谢谢,更正这段代码在组合框下面
Select xsb
Thisform.Grid1.RecordSource ="xsb"
Thisform.Grid1.ColumnCount =5
Thisform.Grid1.Columns(1).header1.Caption='学号'
Thisform.Grid1.Columns(1).ControlSource='学号'
Thisform.Grid1.Columns(2).header1.Caption='姓名'
Thisform.Grid1.Columns(2).ControlSource='姓名'
Thisform.Grid1.Columns(3).header1.Caption='语文'
Thisform.Grid1.Columns(3).ControlSource='语文'
Thisform.Grid1.Columns(4).header1.Caption='数学'
Thisform.Grid1.Columns(4).ControlSource='数学'
Thisform.Grid1.Columns(5).header1.Caption='英语'
Thisform.Grid1.Columns(5).ControlSource='英语'
#4
wxzd1232022-02-20 08:23
Tableupdate(1,.T.,'xsb')
因为行缓冲
#5
fanjinyu91082022-02-20 18:10
CA我是用伤了心,和你一样,一会好,一会儿不能存盘,查不出来原因,最后还是采用spt稳定些。
#6
hjqwjx2022-02-24 16:06
你漏了必不可少的CURSORSCHEMA属性设置,
1