****************************************
* 電腦環境:Windows 7 64bit *
* SQL Server Management Studio版本:2008 R2 *
****************************************
Microsoft所提供的下載點:http://www.microsoft.com/en-us/download/details.aspx?id=23654
點一下「Download」就可以下載了,得到SQL2000SampleDb.msi
點兩下「SQL2000SampleDb.msi」安裝,完成後產出資料夾內有多個檔案
instnwnd.sql
instpubs.sql
NORTHWND.LDF
NORTHWND.MDF
PUBS.MDF
PUBS_LOG.LDF
ReadMe_SQL2000SampleDbScripts.htm
開啟SQL Server Management Studio並登入
準備掛上資料庫.mdf檔
滑鼠右鍵點擊「資料庫」>「附加」
「加入」
找到要附加的NORTHWND.MDF檔
NORTHWND.MDF:資料
NORTHWND.LDF:紀錄檔
倘若今天只剩下.mdf檔,丟失了.LDF檔
就把找不到的這個.LDF按「移除」>然後「確定」即可
否則會出現錯誤訊息
標題: Microsoft SQL Server Management Studio
------------------------------
伺服器 'LISASST-PC\LISasst' 的 附加資料庫 失敗。 (Microsoft.SqlServer.Smo)
如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617.0+((KJ_RTM_GDR).110422-1901+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加資料庫+Server&LinkId=20476
------------------------------
其他資訊:
執行 Transact-SQL 陳述式或批次時發生例外狀況。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
檔案 "D:\MSSQL\DATA\Northwind_log.LDF" 的目錄查閱失敗,有作業系統錯誤 3(系統找不到指定的路徑。)。 (Microsoft SQL Server, 錯誤: 5133)
如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617&EvtSrc=MSSQLServer&EvtID=5133&LinkId=20476
------------------------------
按鈕:
確定
------------------------------
在工具列空白處按滑鼠右鍵,出現如下選單,要ˇSQL 編輯器
按一下「新增查詢」然後輸入
CREATE DATABASE 資料庫名稱 ON
(FILENAME = N'MDF檔所在路徑')
FOR ATTACH_REBUILD_LOG
展開資料庫>Northwind>資料表,可以看到表單如下
dbo.Categories
dbo.CustomerCustomerDemo
dbo.CustomerDemographics
dbo.Customers
dbo.Employees
dbo.EmployeeTerritories
dbo.Order Details
dbo.Orders
dbo.Products
dbo.Region
dbo.Shippers
dbo.Suppliers
dbo.Territories
記住我們要連的
server是:(local)\abc
databse是:Northwind
****************************************
* 電腦環境:Windows 7 64bit *
* Microsoft Visual Studio版本:2010 Professional *
****************************************
開啟Microsoft Visual Studio並建立新專案
建立Button*3
ListBox*2
回到程式面撰寫如下
Imports System.Data.SqlClient Public Class Form1 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 LastName,TitleOfCourtesy, Region, ReportsTo 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()) '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 End Using End Using 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 End Class
按F5執行畫面如下
點一下button1
在程式中我們界定了"select LastName,TitleOfCourtesy, Region, ReportsTo from employees"
表示從資料表employees抓出欄位LastName’TitleOfCourtesy、Region、ReportsTo的值
並用dr儲存:Using dr As SqlDataReader = command.ExecuteReader()
(dr(0).ToString() & vbTab)表示抓第一位置的值
(dr(1).ToString() & vbTab)表示抓第二位置的值
(dr(2).ToString() & vbTab)表示抓第三位置的值
(dr(3).ToString() & vbTab)表示抓第四位置的值
點一下button2
在程式中我們界定了"select * from employees"
表示從資料表employees抓出所有欄位的值
但是
Dim intID As Integer = dr.GetOrdinal("employeeid") Dim intDesc As Integer = dr.GetOrdinal("FirstName")
表示我們只要抓欄位employeeid和FirstName
並以(dr(intID).ToString() & " – ") + dr(intDesc).ToString()的形式呈現
點一下button3
在程式中我們界定了"select * from employees;select * from products"
一次抓2張table的所有欄位值呢
Using command As New SqlCommand(qs, cn) Using dr As SqlDataReader = command.ExecuteReader() While (dr.Read()) '第1張table的資料 End While dr.NextResult() While (dr.Read()) '第2張table的資料 End While End Using End Using
終於寫完
沒有留言:
張貼留言