2011-06-26 21 views
0

我想製作一個連接文件,使用它,我的winform應用程序的所有窗體都應該連接到在線mysql數據庫並選擇,更新&插入數據。爲我的C#.NET創建單個連接文件Winform應用程序

我有一個名爲連接文件CONNECTION.CS,連接字符串是:

OdbcConnection conn = new OdbcConnection("Driver={MySQL ODBC 5.1 Driver};uid=ab ; password=pass;server=www.myweb.com;database=mydb;port=3306"); 

現在,我該怎樣利用它在Form1.cs中,Form2.cs ........ ..建立與數據庫的連接並開始插入和檢索數據?請幫忙。

我是否需要在所有表單中繼承此Connection.cs?請幫忙代碼

+0

不要在整個程序的整個生命週期內保持連接打開狀態。這是一個糟糕的設計。當你需要時打開它,當你不需要時關閉它 –

回答

2

我認爲這將是easer如果在app.config文件

<appSettings> 
    <add key="ConnectionString" value="Driver={MySQL ODBC 5.1 Driver};uid=ab ; password=pass;server=www.myweb.com;database=mydb;port=3306" /> 
    </appSettings> 
</configuration> 

這樣定義它,只要你想得到的ConnectionString你可以得到它:

string strConn = ConfigurationManager.AppSettings["ConnectionString"]; 

或者你可以使用一個類,數據訪問層:

class Connection 
{ 
    OleDbConnection conn; 
    OleDbCommand cmd; 
    public Connection() 
    { 
      string connnstr = "Driver={MySQL ODBC 5.1 Driver};uid=ab ; password=pass;server=www.myweb.com;database=mydb;port=3306"; 
      conn = new OleDbConnection(connstr); 
      cmd = new OleDbCommand(); 
      cmd.Connection = conn; 
    } 
    public OleDbDataReader GetData() 
    { 
     .... 
    } 
} 

那麼每當你想GETDATA菊st

Connection conn = new Connection(); 
OleDbDataReader dr = conn.getData(); 

通過這種方式,您只需定義一個連接文件。

+0

ok先生,但如果當我在我的客戶的PC上安裝我的應用程序時這個文件是可見的,那麼如果他/她刪除它或者錯誤地改變了它的一些代碼,這將是一個大問題?所以我該如何處理? – sqlchild

+0

好的,我編輯了答案,我添加了一種替代方法來定義表示數據訪問層的類中的單個連接字符串。 –

+1

@sqlchild以下博客文章向您展示瞭如何加密app.config的特定部分,以便您的客戶無法讀取連接字符串。這也是web.config中任何連接字符串的最佳實踐。 http://www.dotnetprofessional.com/blog/post/2008/03/Encrypt-sections-of-WebConfig-or-AppConfig.aspx –

相關問題