c#.NET 連接 SQLServer 的代碼和遇到的問題


首先申明,本人編程菜鳥,本文只是自己的一個總結,各位看客莫笑!

今天閑來無事,寫了一段C#.NET 連接 SQLServer 的代碼, 寫的過程中查找了一些資料,並遇到了一些問題,

 

閑話少說,先上代碼。

 

 

 

1,string strConnection = "Persist Security Info=False;user id=myID;password=myPWD;initial catalog=northwind;Server=mySQLServer;Connect Timeout=30";

這一段應該就是連接DB之前的一些設定了。
包括了用戶名,密碼,數據庫名,服務器地址等等。

如果你的SQL Server設置為Windows登錄,那么在這里就不需要使用“user id”和“password”這樣的方式來登錄,而需要使用“Trusted_Connection=SSPI”來進行登錄。
代碼如下: string strConnection = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer;Connect Timeout=30";

PS:Persist Security Info=False 是什么意思?(具體上google看看)

Persist Security Info屬性的意思是表示是否保存安全信息,其實可以簡單的理解為"ADO在數據庫連接成功后是否保存密碼信息",

True表示保存,False表示不保存。

 

2,寫代碼中遇到了2個問題

a問題:

System.InvalidOperationException
是 ServerVersion = 'objConnection.ServerVersion' 的例外。
具體內容是: 操作無效,接續處於關閉狀態。

但是這個exception沒有被throw出來,等到objConnection.Open() 被執行之后,
ServerVersion 就顯示出來了。
仔細想想,這個應該不算exception吧?
因為你都還沒有open,人家當然會報 “操作無效,接續處於關閉狀態”這個“警告”啦!(猜想,呵呵,不要砸我!)

 

b問題:

ExecuteReader: Connection 屬性沒有被初期化

於是加上: objsql.Connection = objConnection

問題得以解決。

仔細想想,不然一個sqlcommand怎么知道我用的是哪個connection,取的是哪個DB啊?!

 

有時候代碼看着挺簡單,可是就這么幾句代碼寫起來還碰到好幾個問題呢。

只是果然是在於積累啊!

以后就記住了!


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com