DataSet: TCustomADODataSet; 
for y := 0 to DataSet.Recordset.Fields.Count - 1 do
    begin //取得更新的表名
      Field := DataSet.Recordset.Fields[y];
      if Field.Properties['KEYCOLUMN'] then
      begin
       .....
      end;
    end;这个代码是用ADO来检查主键设置的,在SQL2000和SQL2005中运行正常
但在ORACLE10G中,不正常,不能获取到主键信息。
请高手指点,BAIDU了2个小时,没有找到相关的信息。

解决方案 »

  1.   

    没太明白,但sqlserver与oracle数据库是不同的,不能把sqlserver下的照搬过来。
    帮你顶一下 
      

  2.   

    我也知道不能照搬
    主要原因是因为使用ADO连接 
    我想知道1 为什么会这样 2 在ORACLE中该如何确认这个主键呢
      

  3.   

    select * from USER_CONSTRAINTS where table_name='YOUR TABLE NAME' AND CONSTRAINT_TYPE='P'
    如何确认'YOUR TABLE NAME' 主键
      

  4.   

    现在的人不知道是对d的数据库操作不屑一顾还是用原生ado来显示自己水平牛x,呵呵
      

  5.   

    这个问题对我来说,比较麻烦!
    因为我现在做的工作是原有系统的ORACLE移植
    这个点也比较关键,真的希望高手指点一二,如何在ORACLE中使用这样的方式来判断主键
      

  6.   

    关注一下,Oracle下了两晚了,三分之一还没完呢。
      

  7.   

    去oracle网站上下载,速度还可以的
      

  8.   

    我试了,判断不出来,返回的都是FALSE,你判断出了主键还要做什么,是不是可以采用别的办法解决呢?