none
連線開啟 db 沒反應 RRS feed

  • 問題

  • using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.OleDb;
    namespace mypost
    {
        
        public partial class Form1 : Form
        {
          OleDbConnection odc = new OleDbConnection();
    string odc_CS = "Provider=SQLNCLI.1;Data Source=.\\SQLExpress;AttachDbFilename=|DataDirectory|\\test.mdf;Integrated Security=SSPI;User Instance=True;";
            public Form1()
            {
                InitializeComponent();
                odc.ConnectionString = odc_CS;
                odc.Open();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
               
            }
            private void button1_Click(object sender, EventArgs e)
            {
              
                
                
                DataTable dt = odc.GetSchema();
                dataGridView1.DataSource = dt;
                
                odc.Close();
            }
        }
    }
    2011年6月19日 上午 11:28

解答

  • (1) 雖然用OleDb不能說錯, 但我建議對於處理SQL Server的資料庫來說, 還是用Sql相關類別會比較好.

    (2) 你這方式是動態掛載, 但你的資料庫究竟是動態掛載還是靜態掛載的

    關於動態/靜態掛載, 請參考論壇既有討論

    http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=%E5%8B%95%E6%85%8B%E6%8E%9B%E8%BC%89


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 weipxf 2011年6月19日 下午 01:36
    2011年6月19日 下午 12:04
    版主

所有回覆

  • (1) 雖然用OleDb不能說錯, 但我建議對於處理SQL Server的資料庫來說, 還是用Sql相關類別會比較好.

    (2) 你這方式是動態掛載, 但你的資料庫究竟是動態掛載還是靜態掛載的

    關於動態/靜態掛載, 請參考論壇既有討論

    http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=%E5%8B%95%E6%85%8B%E6%8E%9B%E8%BC%89


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 weipxf 2011年6月19日 下午 01:36
    2011年6月19日 下午 12:04
    版主
  • Bill Chung...版大...可是我照書上 ado.net 3.5  精研講座...

    書上沒有說到 關於動態/靜態掛載

    2011年6月19日 下午 12:12
  • 一般正式環境多半是用靜態掛載的, 書上會這樣寫的原因通常是為了教學方便,因為那畢竟不是一本教SQL Server資料庫的書.

    建議你, 當你寫程式會用到SQL Server的時候, 應該再額外自行補充關於SQL Server方面的知識.

    PS: 你說的那本書我沒翻過, 所以我不能確定作者這麼寫的用意為何.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2011年6月19日 下午 02:11
    版主
  • 程式開發者別忘了錯誤訊息的重要。

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年6月19日 下午 04:37
  • Hi,

    建議檢查一下 |DataDirectory|\\test.mdf存不存在

    |DataDirectory|的位置可參閱

    Working with local databases

    http://blogs.msdn.com/b/smartclientdata/archive/2005/08/26/456886.aspx


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2011年6月22日 下午 03:46