****************************************
* 電腦環境:Windows 7 64bit *
* Microsoft Visual Studio版本:2010 Professional *
****************************************
沿用上一個範例繼續http://bedingfield-tsots.blogspot.tw/2015/09/sql-server-management-studio_30.html
將DataSet拖曳到Design畫面中
這裡選不具型別資料庫集Untyped dataset
對!然後畫面中就看不見DataSet了!
畫面下方是可以看到標幟DataSet1
接著要去變更Tables屬性
跳出新畫面,按一下「Add」
就多了一個叫「Table1」的Members
再去點一下「Columns」的屬性
這邊的「Add」
按四次!
上述畫面按「Close」關閉後
回來再拉一個「DataGridView」
點一下「Choose Data Source」的下拉箭頭
選Other Data Sources > Form1 List Instances > DataSet1 (前面有執行才會出現)
調一下DataGridView的寬高
在其DataMember屬性的下拉箭頭點一下
選到「Table1」
就會出現如下的表格在DataGridView中了
****************************************
* 程式語法:Visual Basic *
****************************************
主要差異用底下黃底標示
Imports System.Data.SqlClient
Public Class Form1
Private resourceCulture As Global.System.Globalization.CultureInfo
'Protected WithEvents Repeater1 As System.Web.UI.WebControls.Repeater
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
'先將listBox清空
listBox1.Items.Clear()
Dim cs As String = "server=(local)\abc;database=Northwind;integrated security=SSPI;"
Dim qs As String = "SELECT * FROM [Northwind].[dbo].[Employees]"
'1.引用SqlConnection物件連接資料庫
'Using cn As New SqlConnection(cs)
Using cn As New SqlClient.SqlConnection(cs)
'2.開啟資料庫
cn.Open()
Dim da As SqlDataAdapter = New SqlDataAdapter(qs, cs)
Using command As New SqlCommand(qs, cn)
Dim ds As DataSet = New DataSet()
da.SelectCommand = command
da.Fill(ds)
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = ds.Tables(0)
End Using
cn.Close()
cn.Dispose()
End Using
End Sub
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
'先將listBox清空
listBox1.Items.Clear()
Dim cs As String = "server=(local)\abc;database=Northwind;integrated security=SSPI;"
Dim qs As String = "select * from employees"
'1.引用SqlConnection物件連接資料庫
Using cn As New SqlConnection(cs)
'2.開啟資料庫
cn.Open()
'3.引用SqlCommand物件
Using command As New SqlCommand(qs, cn)
'4.搭配SqlCommand物件使用SqlDataReader
Using dr As SqlDataReader = command.ExecuteReader()
While (dr.Read())
Dim intID As Integer = dr.GetOrdinal("employeeid")
Dim intDesc As Integer = dr.GetOrdinal("FirstName")
listBox1.Items.Add((dr(intID).ToString() & " – ") + dr(intDesc).ToString())
End While
End Using
End Using
End Using
End Sub
Private Sub button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button3.Click
'先將listBox清空
listBox1.Items.Clear()
listBox2.Items.Clear()
Dim cs As String = "server=(local)\abc;database=Northwind;integrated security=SSPI;"
Dim qs As String = "select * from employees;select * from products"
'1.引用SqlConnection物件連接資料庫
Using cn As New SqlConnection(cs)
'2.開啟資料庫
cn.Open()
'3.引用SqlCommand物件
Using command As New SqlCommand(qs, cn)
'4.搭配SqlCommand物件使用SqlDataReader
Using dr As SqlDataReader = command.ExecuteReader()
While (dr.Read())
'5.判斷資料列是否為空
If Not dr(0).Equals(DBNull.Value) Then
listBox1.Items.Add((((dr(0).ToString() & vbTab) + dr(1).ToString() & vbTab) + dr(2).ToString() & vbTab) + dr(3).ToString())
End If
End While
'6.下一個查詢結果
dr.NextResult()
While (dr.Read())
If Not dr(0).Equals(DBNull.Value) Then
listBox2.Items.Add((((dr(0).ToString() & vbTab) + dr(1).ToString() & vbTab) + dr(2).ToString() & vbTab) + dr(3).ToString())
End If
End While
End Using
End Using
End Using
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
End Sub
End Class
點一下Button1
資料庫中的資料就進入DataGridView1了!!!(累翻)
****************************************
* 參考資料 *
****************************************
MS SQL Server 新增 刪除 更新 查詢 四大基本指令
最近一樣的忙碌,不過昨天終於搞定系統文件了,今天開始要好好寫程式了,離上次PO文也半個月之譜了,這次要分享的文章是屬於基礎篇,關於MS SQL Server的四大基本指令,相信很多剛剛開始寫程式的人這方面一定很頭痛,除了對於程式語言本身不熟悉,ADO.Net也不了解,還要使用SQL語法與資料庫溝通,剛開始寫程式的我也遇到這種麻煩,很討厭,所以為了讓新手能快速上手,就決定分享一下簡單又好學的內容。在Visual C#中,操作MS SQL Server必須要有四個主要的元件,分別為:SqlConnection、SqlDataAdapter、SqlCommand、DataSet:
SqlConnection:表示 SQL Server 資料來源的唯一工作階段 (Session)。如果具有主從架構資料庫系統時,它就相當於伺服器的網路連接。
SqlDataAdapter:SqlDataAdapter 是 DataSet 和 SQL Server 之間的橋接器 (Bridge),用來擷取和儲存資料。
SqlCommand:建立 SqlCommand 的執行個體 (instance) 時,會將讀取/寫入屬性設定為其初始值。
DataSet:DataSet 從資料庫擷取之資料的記憶體中快取,為 ADO.NET 架構的主要元件。
1.新增
1 | String strSQL = " INSERT INTO TABLENAME (SCHEMA, SCHEMA, SCHEMA) VALUES (VALUES, VALUES, VALUES) " ; |
2 | SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection( "Data Source=IP;User Id=ID; Password=PASSWORD; Initial Catalog=DBNAME" ); |
3 | sqlConn.Open(); |
4 | SqlCommand sqlcommand = new SqlCommand(strSQL, sqlConn); |
5 | sqlcommand.ExecuteNonQuery(); |
6 | sqlConn.Close(); |
2.刪除
1 | String strSQL = " DELETE FROM TABLENAME WHERESCHEMA = VALUE " ; |
2 | SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection( "Data Source=IP;User Id=ID; Password=PASSWORD; Initial Catalog=DBNAME" ); |
3 | sqlConn.Open(); |
4 | SqlCommand sqlcommand = new SqlCommand(strSQL, sqlConn); |
5 | sqlcommand.ExecuteNonQuery(); |
6 | sqlConn.Close(); |
3.更新
1 | String strSQL = " UPDATE TABLENAME SET SCHEMA = VALUE WHERE SCHEMA = VALUE " ; |
2 | SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection( "Data Source=IP;User Id=ID; Password=PASSWORD; Initial Catalog=DBNAME" ); |
3 | sqlConn.Open(); |
4 | SqlCommand sqlcommand = new SqlCommand(strSQL, sqlConn); |
5 | sqlcommand.ExecuteNonQuery(); |
6 | sqlConn.Close(); |
4.查詢
1 | String strSQL = " SELECT * FROM TABLENAME WHERE SCHEMA=VALUE " ; |
2 | SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection( "Data Source=IP;User Id=ID; Password=PASSWORD; Initial Catalog=DBNAME" ); |
3 | sqlConn.Open(); |
4 | SqlDataAdapter sqlDA = new SqlDataAdapter(strSQL, sqlConn); |
5 | DataSet dataset = new DataSet(); |
6 | sqlDA.Fill(dataset); |
7 | sqlConn.Close(); |
1 | DataGridView.AutoGenerateColumns = true ; |
2 | DataGridView.DataSource = dataset.Tables[0]; |
5.若要將值(VALUE)換成控制元件,例如:TEXTBOX、COMBOBOX...等,可利用【'"+TEXTBOX.TEXT+"'】這樣的語法直接替換。
沒有留言:
張貼留言