1.我在设计期将一个PARADOX类型表中设置一个字段的默认值为0,在运行时要不断地将其默认值改为其它值,不知应该用什么语句实现。2.怎样用ALTER TABLE来修改数据表中一字段的数据类型?如smallint -> real?

解决方案 »

  1.   

    1.不懂为什么要这样做,是什么需求?用update。
    2.直接对字段进行类型设置即可,如能正确转换的,会自动转换。
      

  2.   

    2:
    一次只能改一个字段
    alter table [talbename] alter column [fieldname] fieldtype 
    ex:create table t1(a int)
    alter table t1 alter column a varchar(10)
      

  3.   

    1、修改字段的值:
        update mytable set 字段1=123;2、修改字段类型
        alter table xxbb modify( a21 number(12,2) );
      

  4.   

    但是我用
    QUERY.SQL.Text := 'UPDATE MyDB SET PRIORCODE = 123';
    QUERY.EXECUTESQL;
    DBGRID中却什么也没了,明显数据表被关闭,不知具体应如何实现。另外解释一下我的用意,我要实现的功能是一个数据表中有三个字段:
    上级编码、本级编码和编码所代表的名字
    第一级时,上级编码默认为‘0’
    第二级编码的上级编码就得为第一级编码中的一个,我就想当用户在列表框中选择一个第一级编码后,第二级编码的上级就默认为所选择的编码而不应由用户来完成了。不知有什么更好的方法吗?
    谢谢各位指点!!
      

  5.   

    但是我用
    query1.sql.text := 'update mytable set afield = 33';
    query1.executesql;
    DBGrid中却什么东西都没了,明显数据表已被关闭。不知具体该如何实现?
    请给个具体的代码好吗?谢谢!!!
      

  6.   

    SQL.Text := 'UPDATE MyDB SET PRIORCODE = 123';
    EXECUTESQL;Close ;
    Open ; //更新后重新打开数据集或者 Refresh
      

  7.   

    和默认值没有关系,update后dbgrid没有并不一定没有更新,你看一下数据库是否有更新。
      

  8.   

    是更新了  呜呜。
    我原先的记录的那个字段值全变成那个值了 :)我的意思是说保留原先记录值,而在我改变默认后再添加记录的话,就使用新设置的这个值,并不要改变原先的值,这也是我原先没有去考虑UPDATE的原因。在SQL SERVER的帮助中说要先删除原先默认(在alter命令中)再添加,但具体如何做我不知道,一本书上说用MODIFY修改字段属性,但MODIFY的命令却不能被识别
    我都快崩溃了。加分加分加分加分加分加分加分加分加分加分加分加分
      

  9.   

    怎么我昨天的回复没了?
    用UPDATE后我原来记录里的那个字段值就全变成了刚刚设定的那个值了。我的意图是:  保留原来的记录值不变,而需要是把默认值变动,随后增加的记录的值默认为新设置的默认值!!!!这也是我刚开始没去考虑UPDATE的原因。再加分----恳请老鸟们相助!!!!!!!!!!!!!!!!!!
      

  10.   

    怎么又看到昨天的回复了?CSDN出什么毛病了?
    UP UP
      

  11.   

    ALTER TABLE t_name MODIFY(A  DEFAULT 200)呵呵
    拿分
      

  12.   

    我最早试的就是MODIFY了,但是不管在SQL SERVER还是在DELPHI里,都出错,说MODIFY这个命令有误,到底怎么回事?
    另外我的程序不是用SQL SERVER,是用PARADOX。呵呵,有劳了!!
      

  13.   

    1.不用数据库的默认值,在程序中加一个变量保存这个值2.好像不能改变字段的属性,想一下,如果你把一个字段有字符串转变成int而且其中有数据会出现什么情况?
      

  14.   

    我有点同意 idilent() 的说法。不知他的意见大家是否认可。
    但为什么用alter table modify...不行呢?教科书上都是这么写的,可是个标准SQL命令呀!为什么在SQL SERVER 和 DELPHI中用它都出错。