SQL DataAdapter資料寫入刪除回傳
1.在Web config裡聯繫資料庫
<connectionStrings>
<add name="MySystemConnectionString1" connectionString="Data Source=127.0.0.1;Initial Catalog=MySystem;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="教務系統ConnectionString" connectionString="Data Source=127.0.0.1;Initial Catalog=教務系統;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
2.打開aspx.cs輸入
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
3.完整程式碼
protected void Page_Load(object sender, EventArgs e)
{ //conn要跟資料庫連結的
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MySystemConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("select * from products2", conn); //把*讀出來丟進da
DataSet ds = new DataSet();
da.Fill(ds, "products"); //products是
//造一個gridview 連結ds
GridView gv = new GridView();
gv.ID = "test";
gv.DataSource = ds;
// gv.DataBind();//將資料綁到控制項上
form1.Controls.Add(gv);
//修改dataset裡的某筆資料,但資料庫裡的資料尚未改變
ds.Tables["products"].Rows[7]["Product_Name"] = "1111Chef Topf薔薇系列不沾鍋 - 28公分炒鍋+28公分";
ds.Tables["products"].Rows[7]["Product_Price"] = 123;
//新增一筆資料
DataRow dr = ds.Tables["products"].NewRow(); //新增一列,但欄位跟products一樣
dr[0] = "x11";
dr[1] = "ssss";
dr[2] = "P011.jpg";
dr[3] = "123";
dr[4] = "100";
dr[5] = "sss";
dr[6] = 1;
ds.Tables["products"].Rows.Add(dr); //把dr加入products
//刪除一筆資料
ds.Tables["products"].Rows[5].Delete();
///////////////////////////////////////////////////以上變更都尚未動到資料庫
//////////////必須回寫資料庫,資料庫才會變更
try
{
SqlCommandBuilder myUpdate = new SqlCommandBuilder(da); //讓da的變更與資料庫一致
da.Update(ds, "products"); //把products回寫至寫入的表products2
}
catch(Exception ex) //傳入例外
{
Response.Write("沒有成功,原因" + ex.Message);
}
///////不會傳回任何重要資料行資訊的 SelectCommand 不支援 DeleteCommand 動態 SQL 的產生。
//////去資料庫裡設定pk
}
SQL DataReader
3.完整程式碼
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MySystemConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand("select * from products", conn);
SqlDataReader rd;
conn.Open(); //把連線打開
rd=cmd.ExecuteReader();
while(rd.Read())//執行這個方法,一次讀一列,假設有讀到這筆資料就會跑出來true
{
Response.Write(rd["Product_Name"] + "-" + rd["Product_ID"]+ "<br>");
}
conn.Close(); //把連線關閉 避免多人佔線
留言列表