先是用 CursorLocation:=clUseServer,但出现无数不明错误,只好放弃。
于是打算按一些帖子所述的,表里不设默认值来解决,因为程序已经分发,所以需要做个更新程序自动修改表,请教如何用SQL语句取消某个字段的默认值?
或者有没有更简单的方法取消所有的默认值?
17 个解决方案
#1
补充一下,数据库是ACCESS的,用的D7
#2
SQL SERVER的话可以通过修改syscolumns,CDefault为0即可。
#3
刚提交就变了,发一个我的意思,用ADOCONNECTION获取到所有的表,循环打开所有表,取得每个表的字段名,再用ALTER语句去设置DEFAULT为null
#4
SQL SERVER 我查到 alert …… drop 需要约束名,可ACCESS没有约束名的
另外,设为NULL 那么 数字类型,也是吗,新建一个ACCESS表时,数字类型自动就有一个默认值0,怎么办,会影响“无法为更新定位行。一些值可能已在最后一次读取后已更改” 吗?
另外,设为NULL 那么 数字类型,也是吗,新建一个ACCESS表时,数字类型自动就有一个默认值0,怎么办,会影响“无法为更新定位行。一些值可能已在最后一次读取后已更改” 吗?
#5
打開表一個個的去改
#6
以前经常碰到这个问题,后来表结构设置都带主键,这个问题就没有再碰到过
#7
我的表是都有主键的
#8
你用到了DataSetProvider吧!DataSetProvider1.UpdateMode := upWhereKeyOnly;即可.
#9
我一般都是这样做的,基本上没有遇到过。
新增记录,不管是append,还是insert赋值完成后,及时post并requery后再修改。或用SQL语句插入后再requery过来修改。尤其是主从关系需要主表主键的,这样做就更有必要。
新增记录,不管是append,还是insert赋值完成后,及时post并requery后再修改。或用SQL语句插入后再requery过来修改。尤其是主从关系需要主表主键的,这样做就更有必要。
#10
没有用到DataSetProvider
#11
我不是新增记录
#12
晕晕地,你用到了什么控件,属于什么程序先说说吧,是三层吧。
#13
不是三层
dbgrid +ado+access
dbgrid +ado+access
#14
删除表,然后重建一个。
#15
我想知道的是,ACCESS表里,如何用SQL语句去掉字段的默认值。
#16
CursorLocation:=clUseServer 改成 CursorLocation:=clUseClient,详细请看http://blog.csdn.net/yxp200401
#17
用的就是 CursorLocation:=clUseClient ,现在咨询如何去掉字段默认值
#1
补充一下,数据库是ACCESS的,用的D7
#2
SQL SERVER的话可以通过修改syscolumns,CDefault为0即可。
#3
刚提交就变了,发一个我的意思,用ADOCONNECTION获取到所有的表,循环打开所有表,取得每个表的字段名,再用ALTER语句去设置DEFAULT为null
#4
SQL SERVER 我查到 alert …… drop 需要约束名,可ACCESS没有约束名的
另外,设为NULL 那么 数字类型,也是吗,新建一个ACCESS表时,数字类型自动就有一个默认值0,怎么办,会影响“无法为更新定位行。一些值可能已在最后一次读取后已更改” 吗?
另外,设为NULL 那么 数字类型,也是吗,新建一个ACCESS表时,数字类型自动就有一个默认值0,怎么办,会影响“无法为更新定位行。一些值可能已在最后一次读取后已更改” 吗?
#5
打開表一個個的去改
#6
以前经常碰到这个问题,后来表结构设置都带主键,这个问题就没有再碰到过
#7
我的表是都有主键的
#8
你用到了DataSetProvider吧!DataSetProvider1.UpdateMode := upWhereKeyOnly;即可.
#9
我一般都是这样做的,基本上没有遇到过。
新增记录,不管是append,还是insert赋值完成后,及时post并requery后再修改。或用SQL语句插入后再requery过来修改。尤其是主从关系需要主表主键的,这样做就更有必要。
新增记录,不管是append,还是insert赋值完成后,及时post并requery后再修改。或用SQL语句插入后再requery过来修改。尤其是主从关系需要主表主键的,这样做就更有必要。
#10
没有用到DataSetProvider
#11
我不是新增记录
#12
晕晕地,你用到了什么控件,属于什么程序先说说吧,是三层吧。
#13
不是三层
dbgrid +ado+access
dbgrid +ado+access
#14
删除表,然后重建一个。
#15
我想知道的是,ACCESS表里,如何用SQL语句去掉字段的默认值。
#16
CursorLocation:=clUseServer 改成 CursorLocation:=clUseClient,详细请看http://blog.csdn.net/yxp200401
#17
用的就是 CursorLocation:=clUseClient ,现在咨询如何去掉字段默认值