如何以相同的形式搜索和查看数据

时间:2014-01-15 01:48:45

标签: mysql vb.net search button view

有人可以给我一个编码搜索按钮的例子吗?

我想要按钮搜索的编码,以相同的形式查看数据。

我使用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中查看数据。

1 个答案:

答案 0 :(得分: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(....))
{
....
}