zoukankan      html  css  js  c++  java
  • 如何得到表的主键名称(字段名称)

    king_Cai

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    如何得到表的主键名称(字段名称)?
     
    C

    curioussea

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    Table1.GetFieldNames
     
    G

    gdtkd

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    select name from syscolumns where object_name(id) = "table1" 
     
    K

    kingdeezj

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    不知道你的是什么数据库?
     
    K

    king_Cai

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    数据库是Informix
    想从Delphi中寻求答案
     
    S

    sundart

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    TField.FieldName
     
    Z

    zxb200

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    得到表字段名:
    var list1:tstrings;
    Table1.GetFieldNames(list1);
    list1列表即為該表字段名。
    關于得到主鍵再研究一下。
     
    B

    blueboy

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    无解。
    如果不访问系统表,只用delphi的函数或方法等得不到。[:)]
     
    L

    lang_kkl

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    我从前作的一个程序,动态选择表格,当选择一个表格时
    得到该表的所有索引(包括主健)及该索引对应的字段。

    procedure TForm.cbxSourceTableChange(Sender: TObject); //选择表格时得到索引及字段
    begin
    ...
    tblSource.Active := false;
    tblSource.IndexName := '';
    tblSource.TableName := cbxSourceTable.Items[cbxSourceTable.itemindex];
    //tblSource.GetIndexNames(cbxIndexName.Items);
    tblSource.IndexDefs.Update;

    for i := 0 to tblSource.IndexDefs.Count - 1 do
    begin
    cbxIndexName.Items.Add(inttostr(i) + '-' + tblSource.IndexDefs.Name);
    cbxIndexField.Items.Add(tblSource.IndexDefs.Fields);
    // tblSource.Active := true;
    end;
    end;

    procedure TForm.cbxIndexnameChange(Sender: TObject); //用户选择索引时判断索引类型

    begin
    //将BDE识别的索引显示出来
    cbxIndexField.ItemIndex := cbxIndexName.ItemIndex; //显示该索引对应字段
    edtIndexType.Text := '';
    if ixPrimary in DataModule2.tblSource.IndexDefs[cbxIndexName.ItemIndex].Options then
    edtIndexType.Text := edtIndexType.Text + '主健' + ';';
    if ixUnique in DataModule2.tblSource.IndexDefs[cbxIndexName.ItemIndex].Options then
    edtIndexType.Text := edtIndexType.Text + '唯一性索引' + ';';
    if ixDescending in DataModule2.tblSource.IndexDefs[cbxIndexName.ItemIndex].Options then
    edtIndexType.Text := edtIndexType.Text + '降序' + ';';
    if ixCaseInsensitive in DataModule2.tblSource.IndexDefs[cbxIndexName.ItemIndex].Options then
    edtIndexType.Text := edtIndexType.Text + '不区分大小写' + ';';
    if ixExpression in DataModule2.tblSource.IndexDefs[cbxIndexName.ItemIndex].Options then
    edtIndexType.Text := edtIndexType.Text + 'dBase关键字索引' + ';';
    if ixNonMaintained in DataModule2.tblSource.IndexDefs[cbxIndexName.ItemIndex].Options then
    edtIndexType.Text := edtIndexType.Text + '自动维护索引' + ';';

    if edtIndexType.Text = '' then
    edtIndexType.Text := edtIndexType.Text + '一般索引' + ';';
    end;
     
    P

    pp虫

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    var
    i:integer;
    begin
    Table1.Active := False;
    Table1.Exclusive := True;
    Table1.IndexDefs.Update;
    for i:=0 to Table1.IndexDefs.Count-1 do
    begin
    if ixPrimary in Table1.IndexDefs.Options then
    begin
    Memo1.Lines.Add('主键名称:'+Table1.indexDefs[0].Name);
    Memo1.Lines.Add('主键字段:'+Table1.IndexDefs[0].Fields );
    end;
    end;
    end;
     
    Z

    zhumoo

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    听课
     
    B

    BigFan

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    利用ADO的原生对象可以做到你的要求,请看一下李维的《ADO/MTS/COM+高级程序设计篇》
     
    L

    lang_kkl

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    有些数据库主健可能显示为ixUnique
     
    Z

    zxb200

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    用SQl SERVER自帶的系統存儲過程:
    exec sp_helpindex st_in
    可查詢得st_in表的主鍵或索引名及字段名
     
    H

    hbezwwl

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    楼上的,数据库是informix,
     
    P

    Pipi.

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    ADO:
    var 
    ds:TADODataSet;
    ds:=TADODataSet.Create(Application);
    ADOConnection1.OpenSchema(adSchemaPrimaryKeys,EmptyParam,EmptyParam,ds)

    ds的每行的 COLUMN_NAME 列加起来就是全部primary key了
     
    V

    vickymade

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    Table1.GetFieldNames
     
    A

    akaiwei

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    关注!
     
    K

    king_Cai

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    谢谢大家
     
    K

    king_Cai

    Unregistered / Unconfirmed
    GUEST, unregistred user!
    接受答案了.
    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    python学习之列表和字典
    python学习之字符串(下)
    python学习之数字
    python学习之核心数据类型
    android 学习Layout布局的使用
    android学习SeekBar的使用
    android学习Gallery和ImageSwitch的使用
    android学习ScrollView的使用
    android学习ViewFlipper的使用
    C#怎么判断传入int值是否是枚举里面的值
  • 原文地址:https://www.cnblogs.com/jijm123/p/13693883.html
Copyright © 2011-2022 走看看