用 Ttable 连接 sqlserver,用dbgrid insert 记录时如何处理自增字段 ID?(30分)

L

laoyou

Unregistered / Unconfirmed
GUEST, unregistred user!
用 DBGRID 直接插入一条记录时候,提交时会出“ID 没有赋值”的错误,在 ID 字段
输入一个值,提交后又会出“ODBC 不让修改 ID”错误,请问如何处理,希望不用管ID
的值,且能用 DBGRID 直接添加编辑,:)
 
你的是ID是主键是吧!

ID自己手工付值不行么?
 
ID 是一个自增量字段,是作为唯一标识的,可以不是主键,[:)]
 
我不知道你設置了什麼東西,我就按你說的重新測試了一次一點問題都沒有.
自增字段不用你輸入任何的東西進去,如果要用自己輸入的話就要用SET 關掉它.
什麼東西都不用設置.(我也是用SQL2000)
 
在SQL 语句中 INSERT 没问题,直接用 DBGRID 添加发现如上报错,连接方式是
TTABLE 控件通过别名直接连接到本地 SQLSERVER 表,DBGRID 用 TDATASOURCE 和
TTABLE 相连,[:)]
 
在TTable控件上点右键, 选Fields Editor... 添加所有field进来, 然后去掉id这个field就行了。
 
怎么可能会有错呢?
自动ID,当然会自动处理。不需要你赋值的。
至于加不加进ID字段到DBGrid是没有影响的。
 
将TTable中字段ID的Required设置为False,将其Readonly设置为True试试。
 
"TTable中字段ID的Required设置为False,将其Readonly设置为True试试。"
有效,thanks![:)]
在 Ttable 的 AFTERPOST 事件中加一条 “DataSet.refresh;” 基本能满足要求,
用 ADO 控件连接不会出现这样的问题,
 
多人接受答案了。
 
顶部