摘要:連接SqlServer Select 與 顯示 筆數
首先using 兩個必須的namespace
using System.Data;
using System.Data.SqlClient;
再來三種方式 連接資料庫的方法
第一種:直接編寫每隻必須使用連接資料庫就必須寫上一次
(優點:不知道 看起來程式碼很多 感覺很厲害吧, 缺點:維護不方便
適用地方:寫玩(完)不需要再維護或是練習 )
string connstr = " Data Source= SQL ;Initial Catalog=資料庫名稱; user ID=帳號; Password=密碼" ;
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
第二種:將連接資料庫方法寫入Web.confing裡面
(優點:方便連接不同SqlServer 方便維護 缺點:目前不知道缺點在哪 適合地方:都適合用 )
步驟1:再新增一個 namespace
System.Configuration
步驟2:Web.confing裡面加入
步驟3:在編寫SQL時將連接資料庫語法改成
string str = ConfigurationManager.ConnectionStrings["sqlDB"].ConnectionString;
方法三:寫成一隻CLASS來使用(這比較自由發揮所以不寫了)
SELECE範例:(使用連接資料庫的方法一)
string connstr = " Data Source= SQL ;Initial Catalog=資料庫名稱; user ID=帳號; Password=密碼" ;
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
//統計筆數
cmd.CommandText = "SELECT COUNT(*) FROM [client]";
int newProdID = (int)cmd.ExecuteScalar();
Response.Write(newProdID+ "<br/>");
//select
cmd.CommandText = "SELECT [client].* FROM [client]";
SqlDataReader SR = cmd.ExecuteReader();
while (SR.Read())
{
Response.Write("id:" + SR["id"] + "<br/>");
}
cmd.Cancel();
SR.Close();
conn.Close();
conn.Dispose();
前輩指點使用using方式
using (SqlConnection conn = new SqlConnection())
{
string connstr = "Data Source= SQL ;Initial Catalog=資料庫名稱; user ID=帳號; Password=密碼";
conn.ConnectionString = connstr;
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM [client]",conn);
int newProdID = (int)cmd.ExecuteScalar();
Response.Write(newProdID + "<br/>");
cmd.CommandText = "SELECT [client].* FROM [client]";
SqlDataReader SR = cmd.ExecuteReader();
while (SR.Read())
{
Response.Write("id:" + SR["id"] + "<br/>");
}
cmd.Cancel();
SR.Close();
conn.Close();
conn.Dispose();
}
使用DataTable
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection())
{
string connstr = " Data Source= SQLSERVER ;Initial Catalog=資料庫名稱;user ID=帳號;Password=密碼";
conn.ConnectionString = connstr;
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand("SELECT [client].* FROM [client]", conn);
adapter.Fill(dt);
}
//顯示筆數
Response.Write(dt.Rows.Count);
//修改內容
Response.Write(dt.Rows[0][1].ToString());
dt.Rows[0][1] = "WWW";
Response.Write(dt.Rows[0][1].ToString());