2011-09-08 26 views
0

sample如何根據搜索結果刪除mysql服務器中的用戶?

我有一個名稱列表,它從MySQL數據庫中檢索DataGrid控件。我可以搜索他們,直到我有一個結果。我希望能夠在結果數等於1時顯示groupbox控件。另外,在groupbox中,我有一個按鈕,單擊它時將從服務器中刪除此用戶,並從mysql表中將其信息從「employee」 。當用戶被刪除時,我會在消息框中顯示一條確認消息,並用更新後的列表重新加載表。到目前爲止,我遇到的唯一兩個問題是當結果等於1時顯示groupbox,並根據搜索結果的名稱從sql server中刪除用戶。即時通訊在Windows 7筆記本電腦的Visual Basic 2010 Express中使用vb.net。謝謝!

EDIT1:

繼承人到目前爲止我的代碼,請建議如何我可以申請你的答案吧。謝謝!

Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp 
    'Search Function. 
    Dim sqlsearch1 As MySqlCommand = New MySqlCommand("SELECT * FROM employee where name LIKE '%?name%' GROUP BY name;", con) 
    Dim sqlsearch2 As MySqlCommand = New MySqlCommand("SELECT * FROM employee where title LIKE '%?title%' GROUP BY title;", con) 
    sqlsearch1.Parameters.AddWithValue("?name", TextBox1.Text) 
    sqlsearch2.Parameters.AddWithValue("?title", TextBox1.Text) 

    If RadioName.Checked = True Then 
     con.Open() 

     Dim table As DataTable 
     For Each table In ds.Tables 
     Next 
     ' Clear all rows of each table. 
     ds.Clear() 

     ' display results in Datagrid1. 
     DataAdapter1.SelectCommand = sqlsearch1 
     DataAdapter1.Fill(ds, "stratos") 
     DataGrid1.DataSource = ds 
     DataGrid1.DataMember = "stratos" 
     con.Close() 
    Else 
    End If 

    If RadioTitle.Checked = True Then 
     con.Open() 

     Dim table As DataTable 
     For Each table In ds.Tables 
     Next 
     ' Clear all rows of each table. 
     ds.Clear() 

     ' display results in Datagrid1. 
     DataAdapter1.SelectCommand = sqlsearch2 
     DataAdapter1.Fill(ds, "stratos") 
     DataGrid1.DataSource = ds 
     DataGrid1.DataMember = "stratos" 
     con.Close() 
    Else 
    End If 
End Sub 

回答

1

對於刪除,您可以簡單地發出刪除語句並將其傳遞給參數,即名稱。

DELETE FROM MyTable WHERE MyName = @Name

林不知道你需要什麼樣的組框。

+0

我要顯示一組控件,只有當datagrid控件中的一個結果。此外,即時通訊有點困惑,我如何從數據網格@name出來...就像我如何獲得數據網格中的某一列? – daniel11

+0

http://msdn.microsoft.com/en-us/library/x8x9zk5a.aspx獲取選定單元格的列和行索引。 – roymustang86

0

如果你正在做的事情一樣

Set recBooks = con.Execute("SELECT * FROM Admin WHERE Name like 'hey' ;") 

recbooks.count將返回的記錄數。

以及用於刪除,只需運行查詢

DELETE FROM Admin WHERE Name = {0} 

按鈕被點擊時,使用重新加載數據網格datagrid.refresh()

+0

你的代碼沒有意義,theres沒有「設置」功能,是原生的vb.net我認爲你在談論「列表(字符串)」,功能。另外「Execute」不是mysqlconnection函數的成員。如果您可以詳細闡述一下,我可以如何將您的代碼應用於我的問題,那麼請這樣做。此外,即時更新我的​​問題與我的腳本到目前爲止。 – daniel11

+0

不幸的是,數據集沒有辦法檢查行數。嘗試使用sqlsearch1.Executescalar() 該代碼將爲: num_rows = ConverttoInt32(sqlsearch1.Executescalar()); 基於此,您可以執行datagrid.fill或不執行。 – roymustang86

+0

它不起作用,並記住即時通訊在Windows 7上使用vb.net不C或C++ ... – daniel11

相關問題