在專案中通常可能會使用不同的資料來源,可能是sql server也可能是access或者是oracle,那麼如何保證在使用不同資料來源的時候,使專案**更改的代價最小呢?
對,使用工廠模式.在net1.1的時候,這需要專案實施者自己來完成.在net2.0中,ms已經新增了幾個用於實施工廠模式的類庫.
首先我現在應用程式當前目錄下新建databases目錄,再新建乙個access資料庫與sqlserver資料庫
其中這2個資料庫的結構都是一樣的,都包含乙個sampledata表,有id,與integervalue欄位
xml version="1.0" encoding="utf-8"
?>
<
configuration
>
<
connectionstrings
>
<
add
name
="sql server"
providername
="system.data.sqlclient"
connectionstring
="data source=./sqlexpress;attachdbfilename=|datadirectory|/databases/mydata.mdf;integrated security=true;user instance=true"
/>
<
add
name
="ms access"
providername
="system.data.oledb"
connectionstring
="provider=microsoft.jet.oledb.4.0;data source=|datadirectory|/databases/mydata.mdb;persist security info=true"
/>
connectionstrings
>
configuration
>
然後在主窗體中的button事件中編寫如下**
private
void
getdatabutton_click(
object
sender, eventargs e)
}catch}}
這樣,只需要更改strdatasource就可以使用不同的資料來源,而且整個專案都不需要為不同的資料庫而煩惱
連線資料庫
2 documents 目錄就是我們可以用來寫入並儲存檔案得地方,一般可通過 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes nsstring documentsdi...
連線資料庫
1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...
連線資料庫
public void connection 以上是連線資料庫的乙個方法,以及從資料庫中取到資料後存放在table中.executenonquery 執行sql後,返回乙個整形變數,如果sql是對資料庫記錄進行操作,那麼返回影響的記錄條數。executescalar 執行sql 如果sql語句是se...