.NET中各種數據庫連接大全(cn)
.Net Connnection(en) http://www.connectionstrings.com/
VB.NET Tutorial and source code(en) : http://vb.net-informations.com/
===========================================================
■■■ System.Data.SqlClient
■■■ System.Data.SqlClient.SqlConnection :
■ 建構 : SqlConnection ::: SqlConnection(String) :::
■ 方法 : Close ::: Open
===
■■■ System.Data.SqlClient.SqlCommand :
■ 建構 : SqlCommand ::: SqlCommand(String) ::: SqlCommand(String, SqlConnection) ::: SqlCommand(String, SqlConnection, SqlTransaction)
■ 屬性 : CommandText ::: Connection ::: Parameters :::
■ 方法 : Cance() ::: Dispose() ::: ExecuteNonQuery() ::: ExecuteReader() ::: ExecuteScalar() ::: ExecuteXmlReader() :::
===
■■■ SqlDataReader 物件 [唯讀循序,ExecuteReader()傳回] :
■ 屬性 : FieldCount ::: HasRows ::: IsClosed ::: Item(Int32) ::: Item(String) ::: Item為Default , 可省略
■ 方法 : Close() ::: GetDataTypeName(int) ::: GetFieldType(int) ::: GetName(int) ::: IsDBNull(int) ::: Read()
■ XmlReader 物件 [唯讀,ExecuteXmlReder()傳回] :::
■ 每次在 SqlConnection 上,只能有一個 SqlDataReader 開啟 ;
ASP.NET 2.0(含)以上搭配MS SQL 2005(含)以上的話,可以解決只能有一個 SqlDataReader 開啟。將 MultipleActiveResultSets=true; 這屬性,寫在資料庫連線字串(ConnectionString)裡即可。
MARS:Multiple Active Result Sets,多重作用結果集。
MARS能在同一條資料連線(SqlConnection)開啟一個以上的結果集,並讓你同時存取這些結果集。
■ 可以重設 CommandText 屬性並重複使用 SqlCommand 物件。 然而在可以執行新的或先前的命令之前,必須先關閉 SqlDataReader。
■ ExecuteScalar 傳回查詢所傳回的結果集第一個資料列的第一個資料行。 會忽略其他的資料行或資料列。如果結果集是空的,則為 null 參考 (在 Visual Basic 中為 Nothing)。
===========================================================■ ExecuteScalar 傳回查詢所傳回的結果集第一個資料列的第一個資料行。 會忽略其他的資料行或資料列。如果結果集是空的,則為 null 參考 (在 Visual Basic 中為 Nothing)。
■ ExecuteNonQuery 查詢資料庫結構或建立如資料表的資料庫物件,或執行 UPDATE、INSERT 或 DELETE 陳述式,不使用佔資源的 DataSet 來變更資料庫的資料。雖然 ExecuteNonQuery 不傳回資料列,但是對應至參數的任何輸出參數或傳回值都會填入 (Populate) 資料。對 UPDATE、INSERT 和 DELETE 陳述式而言,傳回值是受影響的資料列數目。 如果要插入或更新的資料表上包含有觸發程序 (Trigger),傳回值便會包含受到插入或更新作業影響之資料列的數目,以及受到一個或多個觸發程序影響的資料列數目。 對其他類型的陳述式而言,傳回值為 -1。 如果發生復原,傳回值也是 -1。
■■■ SqlCommand SqlDataReader Sample : [ txtMsgRich 為 RichTextBox]
<connectionStrings>
<add name="HMOConn" connectionString="Data Source=W7WWW;Initial Catalog=HMO;Persist Security Info=True;User ID=hmosa;Password=Dyna123" providerName="System.Data.SqlClient" />
</connectionStrings>
Dim connStr as String = System.Configuration.ConfigurationManager.ConnectionStrings("HMOConn").ConnectionString
Public Sub Sql_Cmd_Reader(ByVal tQryStr As String, ByVal tConnStr As String)
Using conn As New SqlConnection(tConnStr)
conn.Open()
Dim sqlCmd As New SqlCommand(tQryStr, conn)
Dim sqlRd As SqlDataReader = sqlCmd.ExecuteReader()
Dim fdCount As Integer = sqlRd.FieldCount()
While sqlRd.Read()
For i As Integer = 0 To fdCount - 1
txtMsgRich.Text &= sqlRd.GetName(i) & " ::: "
Next
txtMsgRich.Text &= vbNewLine
For i As Integer = 0 To fdCount - 1
txtMsgRich.Text &= sqlRd(1).ToString(i) & " ::: "
Next
txtMsgRich.Text &= vbNewLine
End While
sqlRd.Close()
conn.Close()
End Using
End Sub
===========================================================
■■■ System.Data.DataSet :
■ 屬性 : Tables :::
System.Data.DataTable : dim tb as DataTable = DataSetObj.Tables("tableName")
System.Data.DataRow :
System.Data.DataColumn :
System.Data.Common.DataAdapter :
System.Data.DataView :
===========================================================
■■■ DataSet Sample Prg :
Dim connetionString As String
Dim connection As SqlConnection
Dim command As SqlCommand
Dim adapter As New SqlDataAdapter
Dim ds As New DataSet
Dim i, j As Integer
Dim sql As String
'"Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
connetionString = "Data Source=HP2008PC;Initial Catalog=HMO;User ID=sqlsa;Password=Dyna123"
sql = "Select * from CardDefine"
connection = New SqlConnection(connetionString)
Try
connection.Open()
command = New SqlCommand(sql, connection)
adapter.SelectCommand = command
adapter.Fill(ds)
adapter.Dispose()
command.Dispose()
connection.Close()
txtMessage.Text = ""
For i = 0 To ds.Tables(0).Rows.Count - 1
For j = 0 To ds.Tables(0).Columns.Count - 1
txtMessage.Text &= ds.Tables(0).Rows(i).Item(j) & " -- "
Next
txtMessage.Text &= vbNewLine
Next
Catch ex As Exception
MsgBox("Can not open connection ! " & ex.Message)
End Try
===========================================================
■■■ a
===========================================================
■■■ a
===========================================================
■■■ a
===========================================================
■■■ a
0 意見:
張貼留言