2014-01-15 54 views
0

有人可以給我一個編碼搜索按鈕的例子嗎?如何搜索和查看相同形式的數據

我想要按鈕搜索編碼以相同的形式查看數據。

我使用Visual Basic和Xammp作爲數據庫,但我的系統不是在線系統,所以我認爲編碼有點不同。
請幫助我!

有2個不同類...


1)database.vb

Public Function searchData(ByRef sData As String) 
    Try 
     conn.Open() 
     cmd.Connection = conn 
     cmd.CommandText = "SELECT * FROM tblforms WHERE Name = '" + sData + "' " 
     cmd.ExecuteNonQuery() 
     conn.Close() 
     MessageBox.Show("Data was found!!") 
    Catch ex As Exception 
     MessageBox.Show("Problems!! Data was not unavailable!!!") 
    End Try 
End Function 

2)forms.vb

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click 

    Dim search As String = txtboxSearch.Text 
    databaseConn.searchData(search) 

End Sub 

我能在database.vb中執行命令,但我無法查看錶單中的數據。 VB。

+0

你發佈的數據就像一個DataGridView控制? – Plutonix

+0

@Plutonix不,數據將發佈到文本框中。將會有4個文本框(姓名,地址,聯繫電話和傳真號碼)和標籤(refno) –

回答

0

你的代碼有一些問題,並且過去他們將是乏味的。 但有一件事是正確的眼睛 - 如果你想,你必須

cmd.ExecuteNonQuery(); 

你需要有

reader = cmd.ExecuteReader(); 

然後,你將能夠填補文本數據發佈到文本框,在這裏方框

if (reader.Read()) txtBox.Text = reader[0].ToString(); 

這是一條記錄。聽起來你需要基於主細節內容的搜索是獨立的形式的主細節設計。但這不是一個問題,這是一個設計,遠遠超出我們在這裏所做的範圍。如果您確定始終會檢索單個記錄,則確實可以將文本框放置在表單上,​​甚至可以將它們用於搜索和查看。例如,您輸入到文本框namezip - 你的代碼可以在btn_click生成動態SQL:

StringBuilder sql = new StringBuilder("select * from person"); 
bool addWhere = false; 

if(!string.IsnullOrEmpty(txtName.Text.Trim())) 
{ 
    if(!adWhere) sql.Append(" Where"); 
    addWhere = true; 
    sql.Append(" name='" + txtName.Text.Trim() + "'") ; 
} 

if(!string.IsnullOrEmpty(txtZip.Text.Trim())) 
{ 
    if(!adWhere) sql.Append(" Where"); 
    addWhere = true; 
    sql.Append(" zip='" + txtZip.Text.Trim() + "'") ; 
} 

但同樣,這是不是最大的主意,因爲搜索有傾向產生多個記錄。 這只是一個例子。我會說,繼續與網格和記錄細節。搜索填充網格,網格點擊填充細節。

提示:查找使用using作爲

using (SqlCommand command = new SqlCommand(....)) 
{ 
.... 
}