→ pico2k:請附上完整的程式碼 06/02 17:31
public void AccessDelete()
{
OleDbConnection thisConnection = new OleDbConnection("Provider=
Microsoft.Jet.OLEDB.4.0;Data Source=../../iPods.mdb;");
(這行太長所以小弟分成兩行)
thisConnection.Open();
string str = "Delete FROM iPod where Name =('" + listBox1.Text + "')";
OleDbCommand thisCommand = new OleDbCommand(str, thisConnection);
thisCommand.ExecuteNonQuery();
thisConnection.Close();
this.iPodTableAdapter.Fill(this.iPodsDataSet.iPod);
桧项
}//這是小弟我寫的刪除資料庫資料的程式碼
private void Form1_Load(object sender, EventArgs e)
{
//TODO:這行程式碼會將資料載入'iPodDateSet'資料表,您可以視進行移動
// 或移除
this.iPodTableAdapter.Fill(this.iPodsDataSet.iPod);
}//只要我listbox完成了資料連結的動作,就會自動產生這行程式碼
因為這樣小弟我把這行程式碼當作是對資料庫的連結
所以才貼在刪除的那個函式(AccessDelete)裡頭,想說進行完刪除動作後
listbox也會自動更新,但似乎沒什麼用....先謝過1樓大大了
※ 編輯: cross0619 來自: 118.167.183.236 (06/02 17:49)
→ allenstyle:您在進行新增、刪除、修改時都要記得在那個動作後,重 06/02 21:25
→ allenstyle:新 bind 那些資料,就可以達到你要的效果! 06/02 21:26
可以麻煩allenstyle大大詳細說明一下嗎
頭一次使用資料連結 不知道那個bind怎麼用... 先謝過了
※ 編輯: cross0619 來自: 118.167.183.236 (06/02 21:57)
剛剛亂試了一堆東西 看來沒人指導還是挺難理解的
想說用listbox裡頭的add跟remove來湊和
但是也不行 會出現資料已繫節 無法修改 這樣的錯誤
拜託有知道的大大指導一下了 先謝過
※ 編輯: cross0619 來自: 118.167.183.236 (06/02 23:25)
→ andymai:應該只是需要再執行一次listbox的DataBind方法? 06/02 23:33
可以麻煩大大詳細指導一下嗎 我剛剛有試過這方法,可是我不知道怎麼使用
再次謝過M(_ _)M
※ 編輯: cross0619 來自: 118.167.183.236 (06/02 23:41)
→ andymai:就像allenstyle說的在動作後執行listBox.DataBind();這樣 06/02 23:46
→ andymai:不行嗎? 06/02 23:46
嗯 listbox只有listBox1.DataBindings
而且listBox1.DataBindings(); 還有錯誤 訊息是 不能當成方法使用
※ 編輯: cross0619 來自: 118.167.183.236 (06/02 23:54)
→ andymai:Oh! My God!您是在設計WinForm程式而不是WebForm~我都忘了 06/02 23:59
→ andymai:我在前面有回過文~大概是被推文誤導了(牽拖) 如果是這樣~ 06/03 00:00
→ andymai:其實只要動作完再給一次DataSource就好了... 06/03 00:00
是這樣嗎 listBox1.DataSource = 資料庫路徑嗎;
但我listBox1DataSource = "../../iPods";這樣用
會有這樣的錯誤訊息 複雜 DataBinding 接受以 IList 或 IListSource 做為資料來源。
煩請大大再教一下吧 快被煩死了....就只差這麼一步
※ 編輯: cross0619 來自: 118.167.183.236 (06/03 00:06)
→ andymai:不是~是要給Fill方法裡面那個this.iPodsDataSet.iPod 06/03 00:14
→ andymai:DataSource = this.iPodsDataSet.iPod.Tables[0]; 06/03 00:15
→ andymai:可能要先去MSDN翻一下目前為止用到的方法和屬性~不然可能 06/03 00:16
→ andymai:會有問不完的問題~或是找一本說明詳盡的書也可以... 06/03 00:17
剛剛用大大的DataSource = this.iPodsDataSet.iPod.Tables[0];
有問題呢 我改成this.iPodsDataSet.iPod[].Tables; 反倒可以
但還是沒有我要的效果 很感謝andymai大大的指導 我會再去查資料
沒想到一個重新連結竟然這麼難搞...
當然還是希望大大們可以不吝提供解說XD
※ 編輯: cross0619 來自: 118.167.183.236 (06/03 00:45)
→ andymai:?Fill裡面不是只能放DataSet嗎?我想知道那iPod是什麼類別 06/03 01:03
→ andymai:囧~剛剛看到VS提示的Fill沒多載就懷疑了~沒想到去MSDN查~ 06/03 01:07
→ andymai:果然是有滴!!!用慣了別人的api~現在連基本的都忘了Orz... 06/03 01:07
iPod是一個資料庫 我把它給加入到專案裏頭
左邊工具箱就自動多出iPodDateSet,iPodTableAdapter,TableAdapterManager這三個元件
設計頁面多出iPodSet,iPodBindinfSource,iPodTableAdapterManager三個元件
像是拉進timer那樣子 this.iPodsDataSet.iPod 這行程式碼是自動生出來的
我也搞不清楚iPod是什麼類別
我找到問題所在了
我資料庫讀取路徑打錯
OleDbConnection thisConnection = new OleDbConnection("Provider=
Microsoft.Jet.OLEDB.4.0;Data Source=../../iPods.mdb;");
路徑打錯了.... 謝謝各位的幫助了
※ 編輯: cross0619 來自: 210.60.11.157 (06/03 10:38)
→ wayren:你只是要簡單的I/O功能,基本上只要ConnectionString對, 06/15 06:21
→ wayren:T-SQL的語法對,就能夠被執行。我好奇的是,你的DB裡面只有 06/15 06:22
→ wayren:一欄(Column)的資料嗎? Delete * From iPod Where ..... 06/15 06:25
→ wayren:多個 * 會比較像是標準的寫法.... 06/15 06:26
→ wayren:另外你說的iPod只是你資料庫的名稱....當然不是甚麼類別。 06/15 06:29
→ wayren: 表 06/15 06:30