现有一简单的查询过程如下:
用adoquery直接远程连接数据库中的T1表.T1表的结构如下:
 id  price   contact 
  1    20       a1
  2    19       a2
  3    76       a3 
然后 adoquery -> datasource -> dbgrid 
通常情况dbgrid同样会显示:
 id  price   contact 
  1    20       a1
  2    19       a2
  3    76       a3 
但我现在想要在contact列实现某一对应关系, 如: a1为张三,a2为李四,a3为王五
即在dbgrid中需要显示如下:
 id  price   contact 
  1    20       张三
  2    19       李四
  3    76       王五
请问用什么方法可以简单的实现以上功能?? 
(注:数据库中没有关于contact列对应关系的表,对应关系必须在程序中通过代码实现).
请前辈们指教了~~~~~ 

解决方案 »

  1.   

    写一个代码表t2,字段为 contact,namesql:
    select a.id,a.price,b.name from t1 a,t2 b where t1.contact=t2.contact一切ok!
      

  2.   

    sme yisi?
    shuo qingchu
    !
      

  3.   

    Dbgrid的DBGrid1DrawDataCell事件中添加如下代码:if field.AsString = 'a1' then
       s:='张三';
    if field.AsString = 'a2' then
       s:='李四';
    ............dbgrid1.Canvas.TextRect(rect,0,0,s);
    dbgrid1.Canvas.Textout(rect.Left,rect.Top,s);
    :》
      

  4.   

    To guorui_wh(Re) :
     你是说在数据库里再建立个表用来表示对应关系吗??这样可以解决,但前提是不允许修改数据库!
      

  5.   

    to: shuixin13(犬犬(心帆)) 这样的写法通用性太差了,如果我想改个名字,那不是还要改程序,而且速度慢