如何在程式中使用資料庫
許多.net解決方案都是資料庫驅動的,因此我們很多人常常想知道如何訪問資料庫。 為了幫助您理解該問題的答案,我提供了以下示例,作為如何從資料庫檢索資料的快速示例。
為了使用.net連線到sql server資料庫,您需要將system.data.sqlclient包匯入到程式中。
如果您沒有連線到sql server資料庫,請檢視insertalias的文章,名為
如何在程式第ii部分中使用資料庫,以獲取有關如何連線到其他資料庫的資訊。
連線字串
您需要做的第一件事(在建立資料庫之後)是連線到它。 為此,您必須定義乙個稱為
連線字串
。 連線字串用作查詢程式將使用的資料庫的方式。 它還包含有關為了訪問資料庫而使用的身份驗證型別的資訊。 這意味著連線字串可能包含使用者名稱和密碼。
連線字串的格式通常如下:
vb**示例:
dim connectionstring as string ="data source=;initial catalog=;user id=;password="
c#**示例:
string connectionstring = "data source=;initial catalog=;user id=;password=";
由於連線字串包含有關如何訪問資料庫的非常敏感的資訊,因此保護它(通過加密或其他方式)至關重要。 如果要實現web應用程式,則最好將此資訊儲存在web.config檔案中,以便輕鬆對其進行保護。
sqlconnection
一旦建立了連線字串,就必須建立乙個sqlconnection物件。 該物件使用連線字串為您形成與資料庫的連線。
vb**示例:
dim dbcon as sqlconnection
dbcon = new sqlconnection(connectionstring)
c#**示例:
sqlconnetion dbcon = new sqlconnection(connectionstring);
sqlcommand
建立sqlconnection物件的例項後,需要建立sqlcommand。 該物件用於執行將由資料庫執行的sql命令。
vb**示例:
dim sqlcom as new sqlcommand
c#**示例:
sqlcommand sqlcom = new sqlcommand();
一旦有了該物件的例項,就需要設定其某些屬性。
首先,您必須指定要執行的sqlcommand型別。 您可以在此處指定是使用儲存過程還是要提供要執行sql語句。 在此示例中,我們將介紹如何提供您自己sql語句。
您必須將sqlcommand的「 commandtext」屬性設定為要由所建立的函式執行sql命令。
設定「 commandtext」屬性後,必須新增sql命令語句中使用的所有引數的值。 您可以通過設定sqlcommand的「 parameters」屬性來實現。
您還必須將sqlcommand物件的「 connection」屬性設定為您先前建立的sqlconnection物件,以便連線到資料庫。
例如,如果您想在表中插入新的聯絡人條目,則可以將sqlcommand的「 commandtext」設定為:
vb**示例:
sqlcom.connection = dbcon
sqlcom.commandtype = commandtype.text
sqlcom.commandtext = "insert into contact(cid, caddress, cphonenumber) " _ +
"values(@cid,@caddress,@cphonenumber)"
sqlcom.parameters.add("@cid", sqldbtype.int).value = 1234567
sqlcom.parmaeters.add("@caddress", sqldbtype.varchar).value = "123 hypoth. street..."
sqlcom.parameters.add("@cphonenumber",sqldbtype.varchar).value="1-800-999-99999"
c#**示例:
sqlcom.connection = dbcon;
sqlcom.commandtype = commandtype.text;
sqlcom.commandtext = "insert into contact(cid, caddress, cphonenumber) " +
"values(@cid,@caddress,@cphonenumber)";
sqlcom.parameters.add("@cid", sqldbtype.int).value = 1234567;
sqlcom.parmaeters.add("@caddress", sqldbtype.varchar).value = "123 hypoth. street...";
sqlcom.parameters.add("@cphonenumber",sqldbtype.varchar).value="1-800-999-99999";
執行您sql命令
設定完所有內容後,您可以在資料庫上執行sql命令。
為此,您必須:
vb**示例:
try
dbcon.open()
sqlcom.executenonquery
dbcon.close()
catch ex as exception
end try
c#**示例:
try
catch(exception ex)
{}
在上面的**中,我們使用executenonquery方法執行sql命令,因為更新表sql命令不會返回任何結果。 executenonquery方法返回已更新的行數。 您可以通過檢查sqlcom.executenonquery> 0來確定是否更新了任何行。
如果您正在執行返回結果sql命令,例如執行select語句,則必須使用其他方法。 sqlcommand的executereader方法返回乙個sqldatareader物件,該物件包含執行sql命令後檢索到的所有記錄。
下面的**片段向您展示如何將結果儲存到sqldatareader物件中以及如何訪問資料。
vb**示例:
try
dim dr as sqldatareader
dbcon.open()
dr = sqlcom.executereader
if dr.hasrows = true then
txt_clientid.text = ctype(dr("cid"),integer).tostring()
txt_clientaddress.text = ctype( dr("caddress"),string)
txt_clientphonenumber.text = ctype(dr("cphonenumber"),string)
end if
dr.close()
dbcon.close()
catch ex as exception
end try
c#**示例:
try
dr.close();
dbcon.close();
}catch(exception ex)
{}
完成sqldatareader物件後,請確保將其關閉以進行清理。
如果您的sql命令返回多行,則必須遍歷資料讀取器以檢索所有資訊。
例如,下面的**會將所有「 clientid」新增到textbox txt_clientid中:
vb**示例:
while dr.read
txt_clientid.text = txt_clientid.text + ctype(dr("cid"),integer).tostring()
end while
c#**示例:
while(dr.read())
其他注意事項用於連線資料庫的物件實現idisposable介面。 因此,強烈建議定義乙個dispose()方法來正確處理任何連線的處置。 請務必檢視如何實施此方法以正確清理記憶體。 它確實有助於管理您的資源。
希望你覺得這個有用!
-弗林尼
翻譯自:
微信小程式如何使用Vant
看了vue之後,發現了vant這個移動端的元件庫很不錯。然後,就想在小程式引用這個元件。通過npm的方式引用vant移動端的元件庫。作業系統 win7 旗艦版 然後,新建乙個目錄用於存放引用的元件庫。如下圖所示 選中新建檔案,滑鼠右鍵選擇在終端開啟。此刻,會開啟乙個命令面板。如下圖所示 然後,在控制...
微信小程式 如何使用globalData
globaldata 1 由於它具有共享屬性,對於它的設定和修改,需要分兩方面來說明。globaldata globaldata onload function globaldata onload function 然後,我們來看怎麼獲取globaldata index.js page index....
微信小程式如何儲存資料?
wx.setstoragesync list ll 語法 wx.setstoragesync 儲存的名 儲存的值 讀取 wx.getstoragesync list 語法 wx.getstoragesync 儲存的名 如果儲存在本地,想一重新整理頁面的時候我們直接獲取到資料可以這樣寫一下 生命週期函...