• yam天空
  • 天空部落
  • 新聞
  • 寬頻電視
  • 登入 註冊 網誌隨便逛
  • 加入天空部落

網誌 日記 相簿 影音 BlogLive PK吧!
即時新聞 影音新聞 新聞專輯 政治新聞 財經新聞 娛樂新聞 運動新聞 兩岸新聞 科技新聞
免費頻道 隨選戲劇 隨選綜合 大陸電視直播 鎖碼頻道 隨選電影 優惠活動 加入會員
管理介面 發表網誌 發表日記 上傳相片 上傳影音 管理留言
推薦這個部落格: 307

dllee

除了忙與盲之外,也要停下來想一想、看一看... 建議使用 FireFox 或 IE7 以上版本瀏覽。
使用 IE6 若看不到網頁請留個言唷
  • ☞ 網誌分類列表 ☜
    • ※ 網誌分類列表 ※
    •   自製軟體
    •   程式語言
    •   ├ 程式語言.BCB
    •   └ 程式語言.C#
    •   應用軟體
    •   └ MSN
    •   網站架設
    •   └ 部落軌道
    •   電腦硬體
    •   遊戲育樂
    •   日常生活
    •   網路硬碟
    •  ◎不分類網誌列表◎ 
  • ☞ 顯示工具列 ☜

網誌 |相簿 |好友 |留言板 |
VC# 2005 Express 無法除錯?! | 主頁 | Apache2Triad 架站包已有 1.5.4 版(2006-02-20)
March 4, 2006
簡易 MS Access 資料庫查閱器以文找文
dllee 在天空部落發表於14:23:51 |   程式語言.C#
鼓勵此網誌:0 
加入書籤: HemiDemiGoogle BookmarksYahoo! My WebDel.icio.usfurltechnorati加入此網頁到:你推我報MyShareUDN共享書籤BlogLive

自行安裝了 .Net 後,就一直想要用 .Net 內建的資料庫功能開啟 MS Access 資料庫,不過,試了好幾次都試不出來... 今天找了一堆資料,總算是試出來了 ^_^
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace testDB
{
  public partial class Form1 : Form
  {
    /// The connection to the database
    private OleDbConnection oleDbConnection;
    private OleDbDataAdapter oleDbDataAdapter = null;
    private string AppTitle = "簡易 MS Access 資料庫查閱器";
    public Form1()
    {
      InitializeComponent();
      oleDbConnection = new OleDbConnection();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      // 參考 VB.NET 取得 MS Access 資料庫表格名稱的方式
      // http://www.vbdotnetheaven.com/UploadFile/mahesh/GettingDBSchema04232005053116AM/GettingDBSchema.aspx?ArticleID=66412256-6bcf-4113-afbc-d3dd8b3cff00
      if (openFileDialog.ShowDialog() == DialogResult.OK)
      {
        this.label1.Text = openFileDialog.FileName;
        string conect = "Provider=Microsoft.jet.oledb.4.0;Data Source=" + openFileDialog.FileName;
        oleDbConnection.ConnectionString = conect;
        oleDbConnection.Open();
        DataTable schemaTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
          new object[] { null, null, null, "TABLE" });
        // this.dataGridView1.DataSource = schemaTable; // 顯示全部的資料

        DataTable TableList = new DataTable("Table");
        DataColumn newdc = new DataColumn("Table");     // Column 名稱為 "Table"
        TableList.Columns.Add(newdc);
        DataRowCollection rowcoll = TableList.Rows;
        for (int i = 0; i < schemaTable.Rows.Count; i++)
        {
          DataRow rd = schemaTable.Rows[i];
          if (rd["TABLE_TYPE"].ToString() == "TABLE")
          {
            rowcoll.Add(new object[] { rd["TABLE_NAME"] });
          }
        }
        this.dataGridView1.DataSource = TableList;        // 只顯示表格名稱
        oleDbConnection.Close();
        this.Text = AppTitle + " Double Click 表格名稱以快速檢視";
      }
    }

    private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
      DataTable dt = (DataTable)this.dataGridView1.DataSource;
      // MessageBox.Show(dt.Rows[e.RowIndex][0].ToString());
      string sel = "SELECT * FROM " + dt.Rows[e.RowIndex][0].ToString();
      if (oleDbDataAdapter != null)
      {
        oleDbDataAdapter.Dispose();
        oleDbDataAdapter = null;
      }
      this.Text = AppTitle + " 選擇資料表 " + dt.Rows[e.RowIndex][0].ToString();

      try
      {
        // 參考 http://www.mcse.ms/archive107-2005-6-1706157.html
        // 把資料表放入 DataGridView (.Net2.0) 中
        oleDbDataAdapter = new OleDbDataAdapter(sel, oleDbConnection);
        OleDbCommandBuilder oleDbCommandBuilder = new OleDbCommandBuilder(oleDbDataAdapter);
        oleDbDataAdapter.UpdateCommand = oleDbCommandBuilder.GetUpdateCommand();
        DataSet ds = new DataSet();
        this.Text = AppTitle + " 讀取資料表 " + dt.Rows[e.RowIndex][0].ToString();
        oleDbDataAdapter.Fill(ds, dt.Rows[e.RowIndex][0].ToString());
        this.dataGridView2.DataSource = ds.Tables[0];
        this.Text = AppTitle + " 讀完資料表 " + dt.Rows[e.RowIndex][0].ToString();
      }
      catch
      {
        this.Text = AppTitle + " 空的資料表 " + dt.Rows[e.RowIndex][0].ToString();
      }
      oleDbConnection.Close();
    }
  }
}
留言 (0) | 引用 (0) | 人氣 () | 轉寄
此分類上一篇:VC# 2005 Express 無法除錯?! | 主頁 | 此分類下一篇:MicroSoft C# 影音課程
相關閱讀
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆)
發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:





是 否
內容:
系統公告
  • [活動] 快來尋找飛俠蹤跡,讓你輕鬆登上天空首頁
部落格貼紙

My Blog History 台灣部落格列表
Add to Technorati Favorites Join My Community at MyBloglog!
Free PageRank Checker site statistics
MyHotPost 台灣部落格列表 dllee 統計 ping
藍眼觀注 BO樂區什麼都有... 現在就去看看!
 ◆另開新頁與我MSN◆
Blogger 廣告
個人檔案
個人圖檔
ID:dllee
暱稱:dllee
地區:桃園縣
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 自製軟體 (10)
  •  程式語言 (18)
  •   程式語言.BCB (2)
  •   程式語言.C# (8)
  •  應用軟體 (38)
  •   MSN (8)
  •  網站架設 (50)
  •   部落軌道 (4)
  •  電腦硬體 (7)
  • 遊戲育樂 (14)
  • 日常生活 (41)
  • 網路硬碟 (17)
部落格大串連
推薦好站不可錯過
  • 紫晶數位--電腦遊戲
  • miroko 網路硬碟
  • ShareMe 網路硬碟
  • Delphi.Ktop 程式論壇
  • 文建會兒童文化館中文繪本
  • 兒童英文繪本
  • 為為的快打高手
  • 遊戲世界
  • 小遊戲天堂
  • 好玩遊戲網
  • 好玩遊戲天堂遊戲區
  • 網路電視線上直播
  • EmailCash 點閱賺錢
  • 無理雪兒~
  • 小雪狼 Graffiti
  • dllee在痞客邦
Google 廣告
dllee的感謝您的留言 ^_^
  • jfd1950:
    大大您好:...
  • 拆組達人:
    我是靠MSN跟外國人聊...
  • 野兔:
    野兔也是從英打練起的,...
  • niuch:
    又發現一個語法怪...
  • Elvis:
    好工具~推一下^^
  • Jacky:
    大大 有個問題喔...
  • 犬:
    這套軟体有用過^^簡單...
  • 拜訪者:
    雖然我這回覆有點離題....
  • 拜訪者:
    好 OKOK...
  • 拜訪者:
    引用囉...
dllee的最近文章發表
  • XP 重新啟用...
  • 打字練習從英打開始
  • 我的硬碟「傷很大」
  • 我的硬碟還能用嗎?
  • 截長補短的檔案工具...
  • 暫時取消誰來我家/誰推...
  • 響應BO樂區部落自介活動
  • 天空網誌由國外連回台灣...
  • 天空留言版留言加分隔線語法
  • Discuz! 7...
  • 決定「砍掉重練」
  • 空氣車可望在台生產上市
  • 個人網站→論壇→網誌→?
  • 快來看看168Bo的寶箱
  • IE6, IE5 對不起了
部落軌道 Blog Orbit
☞ 點我加入部落軌道 ☜
☞ 點我加入BO樂區 ☜

ShoutMix chat widget
搜尋天空網誌
搜尋:
感謝您留下足跡
Blogger in the world
世界上誰在看dllee
MyBlogLog
人氣指數
當日人次:
累積人次:
RSS 訂閱
RSS2
ATOM
贊助商
CC授權
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊