原作者:http://www./vs2013%E8%87%AA%E5%B8%A6%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93sql-server-express-localdb%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D.html
哀差悶這幾天在做實踐周的項目,一個餐館點餐系統(tǒng),,需要使用到數(shù)據(jù)庫,,遇到了很多的問題,百度了很久也沒什么頭緒。主要還是關(guān)于VS自帶的數(shù)據(jù)庫操作的問題,。這里我來總結(jié)一下吧,。
首先需要說明的是哀差悶在裝VS2013的時候是全選了所有組件安裝的。所以默認會自動安裝一個SQL Server Express LocalDB,。
SQL Server Express LocalDB簡介
首先來說一下這個SQL Server Express LocalDB吧,,大家應(yīng)該都知道Express版是一個精簡版,而LocalDB呢是SQL Server Express的一種運行模式,,比較適合在開發(fā)環(huán)境使用,。所以被內(nèi)置在VS2013中。
在下文中我們使用SSEL來代替SQL Server Express LocalDB,。
在VS中使用SSEL
1.使用SSEL新建一個數(shù)據(jù)庫
視圖——打開SQL Server對象資源管理器
2.展開其中一個數(shù)據(jù)庫實例——右鍵點擊數(shù)據(jù)庫,選擇添加新數(shù)據(jù)庫
哀差悶添加一個Test數(shù)據(jù)庫作為演示,,位置可以更改,。
3.給新建的Test數(shù)據(jù)庫添加一個Users表
4.給新建的Users表添加內(nèi)容
右鍵新建的表名,點擊查看數(shù)據(jù):
新建數(shù)據(jù)庫實例
可以看到哀差悶是在已有的數(shù)據(jù)庫實例上新建數(shù)據(jù)庫的,,那么怎樣創(chuàng)建一個新的實例呢,,哀差悶沒有在VS中找到方法,所以下面會介紹SSEL的命令行工具SqlLocalDB.exe
這個工具默認在 C:\Program Files\Microsoft SQL Server\110\Tools\Binn(哀差悶是64為系統(tǒng),,如果是32位的話應(yīng)該是在C:\Program Files(x86)下),。SqlLocalDB.exe不能直接運行,需要使用cmd打開,。
下面是cmd命令:
1 |
C:\Users\Myl-Cloud> cd
C:\Program Files\Microsoft SQL Server\110\Tools\Binn |
3 |
C:\Program Files\Microsoft SQL Server\110\Tools\Binn>SqlLocalDB.exe |
下面是SqlLocalDB.exe運行后的提示信息,。
1 |
Microsoft (R) SQL Server Express LocalDB 命令行工具 |
3 |
版權(quán)所有 (c) Microsoft Corporation。保留所有權(quán)利,。 |
5 |
用法: SqlLocalDB 操作 [參數(shù)...] |
12 |
create|c
"實例名稱" [版本號] [-s] |
13 |
使用指定的名稱和版本創(chuàng)建新的 LocalDB 實例 |
14 |
如果忽略 [版本號] 參數(shù),,它默認為 |
15 |
SqlLocalDB 產(chǎn)品版本。 |
16 |
-s 創(chuàng)建后啟動新的 LocalDB 實例 |
27 |
-i 使用 NOWAIT 選項請求關(guān)閉 LocalDB 實例 |
28 |
-k 在不與之聯(lián)系的情況下終止 LocalDB 實例進程 |
30 |
share|h [ "所有者 SID 或帳戶" ]
"專用名稱" "共享名稱" |
32 |
如果省略了用戶 SID 或帳戶名稱,它將默認為當前用戶,。 |
35 |
停止共享指定的共享 LocalDB 實例,。 |
38 |
列出當前用戶所擁有的所有現(xiàn)有 LocalDB 實例 |
42 |
打印有關(guān)指定的 LocalDB 實例的信息,。 |
45 |
列出在計算機上安裝的所有 LocalDB 版本,。 |
可以看到操作命令必須以 SqlLocalDB 開頭。
下面演示新建數(shù)據(jù)庫實例的命令
1 |
SqlLocalDB create newshili |
3 |
C:\Program Files\Microsoft SQL Server\110\Tools\Binn>SqlLocalDB create newshili |
4 |
已使用版本 11.0 創(chuàng)建 LocalDB 實例“newshili”,。 |
其他命令類似,,這里不多介紹了。
之前哀差悶一直不會用VS自帶的這個LocalDB數(shù)據(jù)庫,所以自己也下載了SQL Server Management Studio 2014進行安裝,,但是安裝完成打開SQL Server Management Studio后,,提示連接,在服務(wù)器名稱——瀏覽更多,,并沒有在本地找到任何SQl服務(wù),。網(wǎng)上搜也沒明白個所以然,我估計是因為VS在本機已經(jīng)裝了個LocalDB的數(shù)據(jù)庫服務(wù)的原因,,具體的也不清楚,,微軟的東西太龐大。出現(xiàn)在網(wǎng)上搜不到的問題也不奇怪,。
那我這個Management Studio豈不是白裝了,?其實不然,我們可以用它來管理我們的LocalDB的數(shù)據(jù)庫實例!!
上面的命令行工具里,,使用查看實例詳細信息的命令SqlLocalDB info ProjectsV12
把最下面的一行實例管道名稱,; 復制粘貼到SQL Server Management Studio的連接對話框的服務(wù)器名稱中:
點擊連接即可管理ProjectsV12實例了。
連接數(shù)據(jù)庫:
連接數(shù)據(jù)庫很簡單吧,,使用Ado.Net就行了,,之前哀差悶一直想在WinApp里面連接SQL Server,事實證明這是不能實現(xiàn)的,。所以不多說了,,
想要連接這個LocalDB,先引入System.Data.SqlClient;命名空間(若提示找不到,,那可能是你沒有裝ADO.NET Framework),廢話不多說了,,直接看代碼,下面代碼的實現(xiàn)的是將查詢到的數(shù)據(jù)打印出來的功能
2 |
using System.Collections.Generic; |
5 |
using System.Threading.Tasks; |
6 |
using System.Data.SqlClient; |
8 |
namespace LocalDBConnectTest |
12 |
static
void Main( string [] args) |
14 |
//數(shù)據(jù)庫連接字符串,注意這個寫法(localdb)后面必須是兩個斜杠,,因為這中間有個轉(zhuǎn)義的過程 |
15 |
//Initial Catalog=要連接的數(shù)據(jù)庫名 |
16 |
//Intergrated Security=true 開啟windows身份驗證 |
17 |
string
ConnectString = "Server=(localdb)\\ProjectsV12;Initial Catalog=mrestaurant;Integrated Security=true" ;
|
18 |
SqlConnection con =
null ; |
19 |
SqlCommand cmd =
null ; |
20 |
SqlDataReader str =
null ; |
22 |
con =
new SqlConnection(ConnectString);
//連接到數(shù)據(jù)庫 |
23 |
cmd = con.CreateCommand(); |
24 |
cmd.CommandText =
"select footName from dbo.footinfo" ;
//T-SQL語句 |
25 |
con.Open();
//創(chuàng)建連接后需要用Open打開連接,,結(jié)束后要關(guān)閉連接,及時釋放資源 |
26 |
str = cmd.ExecuteReader();
|
28 |
Console.WriteLine(str[0]); |
33 |
Console.WriteLine(ms.Message); |
這里哀差悶提供一套ADO.Net 4的視頻資料,,感覺挺好的,,分享給大家,也為了以后自己不用到處找資料吧 鏈接:http://pan.baidu.com/s/1jGvYQXo 密碼:8jbd 完整版的資料可以到這里下載
ADO.NET 4.0從入門到精通視頻課程