有人可以给我一个编码搜索按钮的例子吗?
我想要按钮搜索的编码,以相同的形式查看数据。
我使用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中执行该命令,但我无法在forms.vb中查看数据。
答案 0 :(得分:0)
您的代码存在一些问题,并且过了它们将会很乏味。 但有一点是正确的 - 如果你想将数据发布到文本框,那么你可以在这里
cmd.ExecuteNonQuery();
你需要
reader = cmd.ExecuteReader();
然后您就可以填写文本框
if (reader.Read()) txtBox.Text = reader[0].ToString();
这是一条记录。听起来你需要掌握细节设计,搜索是单独的形式,基于主细节内容。但这不是一个问题,这是一个设计,远远超出我们在这里所做的范围。如果您确定将始终检索单个记录,则确实可以在表单上放置文本框,甚至可以将它们用于搜索和查看。例如,您键入文本框name
和zip
- 您的代码可以在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(....))
{
....
}