close

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();  //把連線關閉 避免多人佔線

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 花花 的頭像
    花花

    百花

    花花 發表在 痞客邦 留言(0) 人氣()