有一段SQL:
  select emp_no emp, password passw, ''  from user_table;
需要將這一段SQL返回的數據集顯示到DBGrid中,但是執行后DBGrid中不會顯示“”這一列,請問各位有辦法解決么?PS:前提是就只能用DBGrid控件,不能對DBGrid設定固定的Column,不過可以修改SQL語句

解决方案 »

  1.   

    謝謝,我有找,不過沒有和我一樣的情況,請問有方法么?
    我的“”這一列就是永遠為空值(但是需要保留這一列),可是在DBGrid中就自動將這一列除掉了,不顯示出來~~~
      

  2.   

    謝謝,我有找,不過沒有和我一樣的情況,請問有方法么?
    我的“”這一列就是永遠為空值(但是需要保留這一列),可是在DBGrid中就自動將這一列除掉了,不顯示出來~~~按理说不会,以前也有这么写SQL,可没有遇到你说的情况
      

  3.   

     select emp_no emp, password passw, ''  from user_table;
    没编辑过dbgrid的话,照理应该有 这一列的啊? ''  换 null as   试试看吧
      

  4.   

    Bingo,我之前也沒想到會遇到這樣的情況,所以現在就搞不明白了!
    這樣也不可行!
    不過的的確確就不會顯示這一列,可以嘗試一下!
      

  5.   

    Up Up!
    求幫助想想辦法,我用的Delphi7~
      

  6.   

    写了很多年的Delphi程序,还真没碰到过这样的情况。
      

  7.   

    是不會有這樣的情況,還是沒有過像我這樣的要全列固定為空還要顯示到DBGrid的要求?
    (就是你們即使會有全列為空,DBGrid中也能正常顯示出來?)
      

  8.   

    我知道這種情況:
       select emp_no emp, password passw, AAA as  from user_table;
      (其中“AAA”這個欄位都是NULL)
    時DBGrid是正常顯示出來的了,但是如果是寫死為"NULL AS "爲什麽就會被DBGrid自動忽略呢?好糾結~~~
      

  9.   

    是不會有這樣的情況,還是沒有過像我這樣的要全列固定為空還要顯示到DBGrid的要求?
    (就是你們即使會有全列為空,DBGrid中也能正常顯示出來?)之前写报表时,如果这列的内容还没加,我都是先用NULL或是''来先生成这个列的。
    因为有时SQL语句会写到视图中,这样,如果要改报表内容,很多时候不用改程序,直接在数据库中改视图就可以了。
    但真的没碰到过这种情况。如果是用ADOQuery这样的控件连接的,可以看看ADOQuery中是不是限制了要显示的字段。
      

  10.   

    首先看adoquery是不是设置了固定列,然后看dbgrid是不是设置了固定列,除此之外,不会有其他的原因。
      

  11.   

    回:#12 & #131. 我用的是BDE的Query控件,我們用的Oracle,還是用Query方便些~~~
       剛剛我用ADOQuery測試了一下,是可以顯示出來的~~~2. dbgrid沒有設定固定列。所以现在我有点怀疑是Query控件的问题了,但是我还没确定问题在哪里?
    有人注意过这一点么?还望指点!
      

  12.   

    Oracle没用过,但MSSQL 中你可将字段设定一个类型就没问题,如:cast('' as varchar(10)) as Mark
      

  13.   


    Oh, Great! 这样就能达到我的目的了!感谢!!!同样也感谢上面各位的帮助,若还有其他方法也请指教!
    (2天后再结贴~)