注册 登录
编程论坛 VFP论坛

请教使用ca增加记录时不能保存问题

wxzd123 发布于 2023-12-28 17:21, 601 次点击
只有本站会员才能查看附件,请 登录


获取数据按钮代码
con = Sqlstringconnect([Driver={SQL Server};Server=192.168.31.1;UID=sa;PWD=a;Database=sjk])
Public ca
ca=Createobject("CursorAdapter")
With ca
    .Alias = 'cs3'  &&别名
    .Datasource=con  &&建立的连接
    .DataSourceType = 'odbc'
    .SelectCmd = "select id,类别,序号,左侧,顶部 from cs3  "   
    .KeyFieldList = 'id'  &&关键字
    .Tables = "cs3"  &&要修改的表
    .UpdatableFieldList = "id,序号,左侧,顶部"
    .UpdateNameList ="id cs3.id,序号 cs3.序号,左侧 cs3.左侧,顶部 cs3.顶部"  

    .CursorFill()   &&
Endwith
Select cs3
CursorSetProp("buffering",3)

Thisform.Grid1.RecordSource ="cs3"
Thisform.Grid1.ColumnCount =3
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.Column1.Width=50
Thisform.Grid1.Column2.Width=50
Thisform.Grid1.Column3.Width=50
Thisform.Grid1.RowHeight =30
Thisform.Grid1.Refresh

增加按钮代码
Insert Into  cs3 (序号,左侧,顶部) Values (1,2,3)
ThisForm.Grid1.Refresh

保存按钮代码
Select cs3
Tableupdate(1,.t.,'cs3')
按完增加按钮后
只有本站会员才能查看附件,请 登录

表格显示 1,2,3
这时我在表格中修改,然后再按增加按钮,修改的数字能保存。
如果一连增加多个不修改,最后一起修改,即使按了保存,重新按获取数据,结果没有修改还是1,2,3,为什么增加多个修改就不好用?请各位老师给看一下,谢谢
13 回复
#2
wxzd1232023-12-28 19:03
只有本站会员才能查看附件,请 登录
上传源代码
#3
wxzd1232023-12-28 19:13
是不是跟关键字id有关,增加时没给id赋值,这个id是sql server表中的自动增量型(名称不记得),多个记录没有一个固定id造成的?这个id怎么赋值?
#4
laowan0012023-12-28 21:05
点附件下载,浏览器显示下面的内容
您的时钟快了
您计算机的日期和时间(2023年12月28日星期四 21:04:39)不正确,因此无法与 bbs_bccn_net.bccnsoft.com 建立私密连接。
NET::ERR_CERT_DATE_INVALID
#5
wxzd1232023-12-29 07:47
只有本站会员才能查看附件,请 登录

版主我的时间是同步的
#6
wxzd1232023-12-29 07:47
只有本站会员才能查看附件,请 登录
#7
laowan0012023-12-29 08:26
还是不行,下载时提示时间快了,检查系统时间与实际时间相符,更新了时间还是老样子
换了edge成功了
楼主附件中的程序连接本地数据库,所以没法正常运行

可以试下:
多次增加了记录,修改了部分记录,逐条点击“保存”,看数据是否被更新了
猜想“保存”只针对当前记录而不是全部记录

[此贴子已经被作者于2023-12-29 08:43编辑过]

#8
wxzd1232023-12-29 09:06
谢谢版主,早上在增加加了保存代码,就可以了
#9
laowan0012023-12-29 10:29
以下是引用wxzd123在2023-12-29 09:06:47的发言:

谢谢版主,早上在增加加了保存代码,就可以了


能说一下修改内容吗?
#10
shizi02023-12-29 11:40
buffering=3是行缓冲,5是表缓冲
#11
wxzd1232023-12-29 13:11
Select cs3
Tableupdate(1,.t.,'cs3')
ca.CursorRefresh()
版主加了这个
#12
wxzd1232023-12-29 13:12
回复 10楼 shizi0
是的,有什么号建议或代码,谢谢
#13
wxzd1232023-12-29 13:12
论坛恢复后变冷清了
#14
惬意_甬车2024-02-19 11:46
本人是自编主键,是在CURSOR表中录入一新记录,然后把这条记录再用CA写入SQL源表。自动生成主键还没想好怎么整。
1