Adapter 寫 DataTable
- string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["key"].ConnectionString;
- using (SqlConnection sqlConn = new SqlConnection(connStr))
- {
- sqlConn.Open();
- using (SqlCommand cmd = new SqlCommand(queryStr, sqlConn))
- {
- cmd.Parameters.AddWithValue("paramX", variableX);
- cmd.Parameters.AddWithValue("paramY", variableY);
- cmd.Parameters.Add("@paramZ", SqlDbType.VarChar, 50).Value = "something";
- DataTable dt = new DataTable();
- using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
- {
- adapter.Fill(dt);
- }
- }
- }
DataReader
- using (SqlConnection sqlConn = new SqlConnection(connStr))
- {
- sqlConn.Open();
- using (SqlCommand cmd = new SqlCommand(queryStr, sqlConn))
- {
- cmd.Parameters.AddWithValue("paramsA", valA);
- using (SqlDataReader dr = cmd.ExecuteReader())
- {
- // while (dr.Read()) for loop
- if (dr.Read())
- {
- string cellValue = dr.GetString(dr.GetOrdinal("ColumnName"));
- string cellValue2 = dr["ColumnName2"].ToString();
- }
- }
- }
- }
Stored Procedure
- using (SqlConnection sqlConn = new SqlConnection(CONN_STR))
- {
- sqlConn.Open();
- using (SqlCommand cmd = new SqlCommand("usp_xyz", sqlConn))
- {
- cmd.CommandType = CommandType.StoredProcedure;
- cmd.Parameters.AddWithValue("x", x);
- DataTable dt = new DataTable();
- using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
- {
- adapter.Fill(dt);
- }
- }
- }
TransactionScope & Update
- using (TransactionScope scope = new TransactionScope())
- {
- string connStr = @"...";
- using (SqlConnection sqlConn = new SqlConnection(connStr))
- {
- sqlConn.Open();
- string queryStr = @"UPDATE Table SET ColC = @colC
- WHERE ColA = @colA AND ColB = @colB ";
- using (SqlCommand cmd = new SqlCommand(queryStr, sqlConn))
- {
- foreach (var item in items)
- {
- cmd.Parameters.Clear();
- cmd.Parameters.AddWithValue("colA", item.A);
- cmd.Parameters.AddWithValue("colB", item.B);
- cmd.Parameters.Add("colC", SqlDbType.BigInt).Value = item.C;
- cmd.Parameters.Add(new SqlParameter()
- {
- SqlDbType = SqlDbType.VarChar,
- Size = 18,
- ParameterName = "@colD",
- Value = item.D
- });
- int effectRowCount = cmd.ExecuteNonQuery();
- }
- }
- }
- scope.Complete();
- }
Connection string builder
- SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
- builder["Data Source"] = "ServerName";
- builder["Integrated Security"] = true;
- builder["Initial Catalog"] = "DbName";
- //Data Source=.;Initial Catalog=DbName;Integrated Security=True
- DataTable dt = new DataTable();
- using (SqlConnection sqlConn = new SqlConnection(builder.ConnectionString))
- {
- sqlConn.Open();
- using (SqlCommand cmd = new SqlCommand("SELECT TOP 1000 * FROM TheTable", sqlConn))
- {
- using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
- {
- adapter.Fill(dt);
- }
- }
- }
沒有留言:
張貼留言