使用SqlDataSource的精靈按一按點一點很方便沒錯,
但是有很多事情都被精靈完成,反而自己也不知道精靈做了哪些事情
有時想自己做些變化(如檔案上傳)反而會綁手綁腳...
所以一開始還是新手我比較常使用SqlConnection
感覺掌握度比較高一些,也可以稍稍了解一點點內部如何運作!!!
開始動手敲一敲鍵盤囉
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
這些是會要使用的類別!!!
private string strConnectionName = "ConnectionString";//欲取得的連接字串名稱
private string strConnection = ConfigurationManager.ConnectionStrings[strConnectionName].ConnectionString;
使用ConfigurationManager可以取得Web.Config裡的連接字串
透過在設定檔裡取得需要的連接字串而才不會寫死變數(養成好習慣...雖然忘記是在哪看到的)
using (SqlConnection nowConnection = new SqlConnection(strConnection))//使用連接字串初始SqlConnection物件連接資料庫
{
nowConnection.Open();//開啟連線
using (SqlCommand command = new SqlCommand())
{
command.Parameters.Clear();//清空參數
command.Parameters.Add("@CONTENT", SqlDbType.NVarChar).Value = txtContent.Text;
command.Parameters.Add("@TITLE", SqlDbType.NVarChar).Value = txtTilte.Text;
command.Parameters.Add("@DATE", SqlDbType.DateTime).Value = txtDate.Text;
//SQL指令中使用的參數集合 添加後將自動替換指令中對應的參數
//command.Parameters.AddWithValue("@TEXT", txtContent.Text);非不得已還是別這樣用
command.CommandText = @"INSERT INTO [Table] (Title, [Content], Date)
VALUES (@TITLE, @CONTENT, @DATE)";
command.Connection = nowConnection;//與資料庫連接
int num = command.ExecuteNonQuery();
if(num > 0)
lbResult.Text = "新增完成";
}
}
使用using陳述句 可以避免結束時忘記釋放資源
SqlConnection nowConnection = new SqlConnection(strConnection)
nowConnection.Dispose()
Dispose方法就是用來釋放資源
在字串""前加上@可以方便自行調整換行,比較順眼一點
裡面的@一樣是用來取得參數的
接著是幾種sqlconnection常用執行方式:
最後當然可以補上一些
if(String.IsNullOrWhiteSpace(....))
做檢查避免不必要的資料缺失!!!
今天感覺寫比較少,但游泳真的好累.....To Be Continued