none
dataGridView的使用問題 RRS feed

  • 問題

  • 1.我編寫下列程式用於連結與開啟 mdb 資料庫,然後將資料庫資料 Fill 到DataSet

    string ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\親友通訊錄.mdb";
    System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(ConString);
    connection.Open();
    string queryString = "SELECT * FROM 親友通訊錄";
    System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(queryString, connection);
    System.Data.OleDb.OleDbDataAdapter DataAdapter = new System.Data.OleDb.OleDbDataAdapter();
    DataAdapter.SelectCommand = command;

    DataSet MyDataSet = new DataSet("親友通訊錄");
    int a = DataAdapter.Fill(MyDataSet);

    dataGridView1.DataSource = MyDataSet.Tables["親友通訊錄"];

    2 .程式執行到這裡都沒問題,a 有數值,表示資料庫資料已讀取。

    問題出在將 MyDataSet.Tables["親友通訊錄"];指定給dataGridView1.DataSource ,但執行後dataGridView1沒有顯示資料。dataGridView1是由工具箱拉入表單。

    請問我錯在那裡,謝謝。





    • 已編輯 小玩熊 2013年2月5日 下午 02:01
    2013年2月5日 下午 01:10

解答

  • Hi,

    你沒看懂我的意思

    我說的跟你說的是一樣的

    "看起來應該Table的名字不叫通訊錄

    應該是親友通訊錄

    通訊錄是Dataset名稱"

    new DataSet("通訊錄") <= 這就是我說的

    就算將它改為「親友通訊錄」<=我沒叫你改這

    另外你的發問幹嘛偷改程式...


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    • 已標示為解答 小玩熊 2013年2月5日 下午 02:33
    2013年2月5日 下午 02:15
  • 程式中沒有設定 DataTable 的名稱啊....

    dataGridView1.DataSource = MyDataSet.Tables["親友通訊錄"]; //補充說明 這會取DateSet中 名稱為"親友通訊錄" 的 DataTable 

    改成

    dataGridView1.DataSource = MyDataSet.Tables[0];


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度


    • 已編輯 Alex_Lee 2013年2月5日 下午 02:20
    • 已標示為解答 小玩熊 2013年2月5日 下午 02:31
    2013年2月5日 下午 02:16

所有回覆

  • Hi,

    看起來應該Table的名字不叫通訊錄

    應該是親友通訊錄

    通訊錄是Dataset名稱

    你可以在除錯時設定斷點,然後在監看視按一下放大鏡圖示,確認一下MyDataSet是長什麼樣子


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    2013年2月5日 下午 01:39
  • DataSet MyDataSet = new DataSet("通訊錄");設定的名稱才是DataSet資料表的名稱,所以就算將它改為「親友通訊錄」,dataGridView1還是沒有呈現資料。

    謝謝啦。

    2013年2月5日 下午 02:00
  • Hi,

    你沒看懂我的意思

    我說的跟你說的是一樣的

    "看起來應該Table的名字不叫通訊錄

    應該是親友通訊錄

    通訊錄是Dataset名稱"

    new DataSet("通訊錄") <= 這就是我說的

    就算將它改為「親友通訊錄」<=我沒叫你改這

    另外你的發問幹嘛偷改程式...


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    • 已標示為解答 小玩熊 2013年2月5日 下午 02:33
    2013年2月5日 下午 02:15
  • 程式中沒有設定 DataTable 的名稱啊....

    dataGridView1.DataSource = MyDataSet.Tables["親友通訊錄"]; //補充說明 這會取DateSet中 名稱為"親友通訊錄" 的 DataTable 

    改成

    dataGridView1.DataSource = MyDataSet.Tables[0];


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度


    • 已編輯 Alex_Lee 2013年2月5日 下午 02:20
    • 已標示為解答 小玩熊 2013年2月5日 下午 02:31
    2013年2月5日 下午 02:16