我是剛接觸ASP NET的新手 想請問一下 為甚麼我 mydelete.Update卻沒有任何作用 我有上網找了許多資料但是都沒用 希望有大大可以跟我說謝謝><
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection Conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString);
SqlDataAdapter mydata = new SqlDataAdapter("select id,test_time,title from test",Conn);
DataSet ds = new DataSet();
mydata.Fill(ds, "test");
GridView1.DataSource = ds;
GridView1.DataBind();
try
{
SqlDataAdapter mydelete = new SqlDataAdapter("delete from test where id="+TextBox1.Text,Conn);
mydelete.Update(ds,"test");
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
finally
{
DBinit();
}
}
wiselou提到:
改用ORM吧...SqlDataSource是有點久以前的東西
wiselou提到:
書上沒寫啊
tecksin提到:
說好的筆記本呢
Program HelloWorld(output) begin writeln('Hello Pascal') end.
MOV AL, 1h MOV EAX, [EBX]
救救北極熊,請養成隨手關燈的好習慣;救救MIS,也請養成愛用parameter的好習慣。
<pre class="c" name="code">
using(SqlConnection conn = new SqlConnection("YOUR CONNECTION STRING")
{
using(SqlCommand cmd = new SqlCommand("DELETE FROM [test] WHERE [id]=@id",conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@id",TextBox1.Text);
int row_effected = cmd.ExecuteNonQuery();
}
}
你應該用SqlDataAdapter的DeleteCommand來執行Delete動作.
<pre class="c" name="code">SqlDataAdapter mydelete = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand"delete from test where id="+TextBox1.Text, Conn);
mydelete.DeleteCommand = cmd;
mydelete.Update(ds,"test");
真搞不懂樓主為什麼要那麼麻煩....把資料先撈回來,再去執行刪除...
視server資源為無物....
直接拿個SqlCommand去執行不就好了
我以為說要先把資料放進記憶體中(因為是用Dataset)來之後再刪除
所以是可以不用這樣做就可以直接刪除嗎?
如果要用DataAdapter去刪除資料
比較『正常』的作法是
只是...Web...這麼做有點...
網頁是無狀態的,沒有必要,也請不要這樣做
原PO:
先想想網頁程式是怎麼運作的?
然後挑一個好用的技術來處理,例如:DataReader
可以參考這篇文章
[ADO.NET] Web Form為求快速,可使用 DataReader直接處理資料來源
http://www.dotblogs.com.tw/mis2000lab/archive/2012/01/13/dataset_datareader_20120113.aspx
不要拿到範例,不分青紅皂白、不分源由就硬幹、硬K
對您沒幫助喔
原PO一開始的程式,不會運作,我這篇文章有說明:
ADO.NET(圖解與補充說明)DataSet / DataAdapter如何 修改 (Update)一筆紀錄?
http://www.dotblogs.com.tw/mis2000lab/archive/2013/01/08/dataset_dataadapter_update_flow_20130108.aspx?fid=77175#feedback
看來您對 DataSet如何運作,完全不懂
那就先理解他,再來用
ASP.NET 只是要表格操作的話,用DataGridView就很容易處理,幾乎不用寫甚麼程式碼.
另外,你也可以考慮看看用LINQ to SQL啊
謝謝您的回答!!
但是我想說我想要試試看用code behind來寫寫看^^
您用我的書、我的範例在練習
為什麼不直接來信問我、跟我討論呢?
另外,能否說明您堅持使用 DataSet的原因?
為什麼不用DataReader?
來上課吧,好過自己一直撞牆 :-)
http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx
我之前以為DataReader select只能用ExecuteReader
DataSet只能使用 select用Fill()和 insert,update,和delete用Update()