none
關於GridView的用法 RRS feed

  • 問題

  • 各位高手,我有寫這一段程式碼,但是GridView的資料卻沒辦法顯示出來,
    請教各位大大,這樣的寫法是錯誤的嗎?
    Dim str As String = "Server=192.168.1.122;database=DB_0001;User Id=sa;Password=123456;"
    
     Dim conn As SqlConnection = New SqlConnection(str)
            conn.Open()
    
            '查詢資料
            Dim str1 As String = "select * from AREP"
            Dim adp1 As SqlDataAdapter = New SqlDataAdapter(str1, conn)
    
            '將查詢結果放到記憶體set1上的"1a "表格內
            Dim set1 As DataSet = New DataSet
            adp1.Fill(set1, "1a")
    
            '將記憶體的資料集合存放到視窗畫面上的DataGrid上
             GridView1.DataSource = set1.Tables("la")
            '關閉資料庫的連結
            conn.Close()
    

    2009年12月29日 上午 08:00

解答


  •         adp1.Fill(set1, "1a")



            '將記憶體的資料集合存放到視窗畫面上的DataGrid上

             GridView1.DataSource = set1.Tables("la")

           

    ??
    到底是「1a」還是「la」
    • 已標示為解答 Lolota Lee 2010年1月5日 上午 09:14
    2009年12月29日 上午 08:04

所有回覆


  •         adp1.Fill(set1, "1a")



            '將記憶體的資料集合存放到視窗畫面上的DataGrid上

             GridView1.DataSource = set1.Tables("la")

           

    ??
    到底是「1a」還是「la」
    • 已標示為解答 Lolota Lee 2010年1月5日 上午 09:14
    2009年12月29日 上午 08:04
  • Hi!

    先參考 阿尼 前輩的說法,之後試試看

            '將記憶體的資料集合存放到視窗畫面上的DataGrid上
              GridView1.DataSource = set1.Tables("1a")
             GridView1.DataBind()  ' 加這個

    我的Blog .NET菜鳥自救會
    2009年12月29日 上午 08:15
    版主
  • 小歐OU前輩,
    我加了GridView1.DataBind()  這個以後
    一樣是沒有畫面的
    2009年12月29日 上午 08:31
  • 小歐OU前輩,
    我加了GridView1.DataBind()  這個以後
    一樣是沒有畫面的

    以下是我測試的程式與畫面

    您有參考 阿尼 的說明嗎??


    我的Blog .NET菜鳥自救會
    2009年12月29日 上午 08:41
    版主
  • 謝謝阿尼前輩和小歐ou前輩的指教
    我真的太不細心了,這種小錯誤竟然都沒發現,就冒冒失失的來發問,浪費各位前輩的時間,
    真的很抱歉,也再次感謝兩位前輩的指教,謝謝


    小的另有一問:
    如果我的資料庫DB_0001有三個Table,
    我想以下拉式選單來選出所有的Table,有沒有辦法實作?
    因為我最終想作出選了某一個Table名稱後,就show出該Table 的所有資料…
    2009年12月29日 上午 08:48
  • 謝謝阿尼前輩的指導,

    我試過了,似乎是show出Schema,但不是show出tables耶!


    2009年12月29日 上午 09:58
  • 謝謝阿尼前輩和小歐ou前輩的指教
    我真的太不細心了,這種小錯誤竟然都沒發現,就冒冒失失的來發問,浪費各位前輩的時間,
    真的很抱歉,也再次感謝兩位前輩的指教,謝謝


    小的另有一問:
    如果我的資料庫DB_0001有三個Table,
    我想以下拉式選單來選出所有的Table,有沒有辦法實作?
    因為我最終想作出選了某一個Table名稱後,就show出該Table 的所有資料…

    --顯示DB_0001所有table name
    USE
    DB_0001
    GO

    SELECT
    *
    FROM
    sys.Tables
    GO

    因為我最終想作出選了某一個Table名稱後,就show出該Table 的所有資料…
    SelectedIndexChanged事件處理(autopostback=true)
    .... 
    GridView1.DataSource = set1.Tables(tblname)
     GridView1.DataBind()

    http://www.dotblogs.com.tw/ricochen/Default.aspx
    2009年12月29日 上午 10:33
  • ricoisme前輩,

    我不太懂您說的方法耶,可否請您再指導一下?

    --顯示DB_0001所有table name
    USE 
    DB_0001
    GO 

    SELECT 
    *
    FROM 
    sys.Tables
    GO 


    2009年12月29日 上午 10:47
  • ricoisme前輩,

    我不太懂您說的方法耶,可否請您再指導一下?

    --顯示DB_0001所有table name
    USE 
    DB_0001
    GO 

    SELECT 
    *
    FROM 
    sys.Tables
    GO 



    1.取得DB_0001所有table name to dropdownlist
    SelectCommand="select name from sys.tables tt where tt.type='U'";

    2.DropDownList選擇相關table name顯示相關資料
    DropDownList1_SelectedIndexChanged事件中處理相關邏輯

    概念和小弟這篇Excel to GridView 差不多
    http://www.dotblogs.com.tw/ricochen/archive/2009/12/01/12244.aspx


    http://www.dotblogs.com.tw/ricochen/Default.aspx
    2009年12月29日 下午 12:28
  • ricoisme前輩,

    還是不行耶,
    我的程式碼:
         '查詢資料
            Dim str1 As String = "select name from sys.tables tt where tt.type='U'"
            Dim adp1 As SqlDataAdapter = New SqlDataAdapter(str1, conn)
            Dim set1 As DataSet = New DataSet '將查詢結果放到記憶體set1上的"1a "表格內
    
            adp1.Fill(set1, "LA")
    
    
            '將記憶體的資料集合存放到視窗畫面上的DataGrid上
            GridView1.DataSource = set1.Tables("LA")
    
            GridView1.DataBind()

    2010年1月4日 上午 02:23
  • Hi,

    何謂不行?
    能否清楚描述之?
    運行的效果、發生的問題在發問時請盡量描述清楚。

    另外,您的要求不是要把資料庫所有Table名稱給顯示在下拉清單嗎?
    為何上面的程式會把資料來源Bind到GridView?

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年1月4日 上午 04:54
  • hi
    依照你之前需求應該是將相關table塞入DropDownList1

    DropDownList1.datasource = set1.Tables("tbl")
    DropDownList1.datatextfield = "key"
    DropDownList1.datavaluefield = "value"
    DropDownList1.databind()


    下拉選單顯示所選TABLE資料
    DropDownList1_SelectedIndexChanged事件中
      .......        

            '將記憶體的資料集合存放到視窗畫面上的GridView
            GridView1.DataSource = set1.Tables("LA")
            GridView1.DataBind()






    http://www.dotblogs.com.tw/ricochen/Default.aspx
    2010年1月4日 上午 05:26
  • 前輩們抱歉,沒有說明真正的錯誤原因

    如果以下列的程式去run的話,
    會出現invalid objet name 'sys.tables'.


    '查詢資料
            Dim str1 As String = "SELECT name FROM sys.tables"
            Dim adp1 As SqlDataAdapter = New SqlDataAdapter(str1, conn)
            Dim set1 As DataSet = New DataSet '將查詢結果放到記憶體set1上的"1a "表格內
    
            adp1.Fill(set1, "LA")
    
    
            '將記憶體的資料集合存放到視窗畫面上的DataGrid上
            GridView1.DataSource = set1.Tables("LA")
    
            GridView1.DataBind()

    2010年1月4日 上午 08:33
  • Hi,

    請問一下SQL Server版本是...?

    sys.tables好像是2005才有
    sys.tables (Transact-SQL)

    若版本問題可參考這篇

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年1月4日 上午 09:09
  • 如果是要把Table秀出來
    甚至秀出Table的Schema
    這一篇請您參考看看

    http://www.dotblogs.com.tw/topcat/archive/2008/05/28/4144.aspx

    ^_^
    topcat(姍舞之間的極度凝聚)http://www.dotblogs.com.tw/topcat/
    2010年1月4日 上午 10:03
  • 蹂躪前輩,
    我的SQL Server 是2000的版本,
    所以沒有sys.tables 這個元件………

    2010年1月6日 上午 07:05
  • Hi,

    那請試用小喵大的連結與我上面那篇的連結

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年1月6日 上午 07:29