如何在文本框中显示搜索结果?

本文关键字:显示 搜索结果 文本 | 更新日期: 2023-09-27 18:11:20

我已经创建了一个表代码,并希望搜索和检索在文本框IMEI中介绍设备IMEI的答案,当我点击搜索时,我想在文本框代码中显示结果code_mck,我想显示结果:

id  Imei             code_mck
1  356885021519453   830782136
2  356885021519156   948790617
3  356885021518893   715398945
4  356885021518935   567456626
5  359654022104377   557960750 

最初我有一个典型的三层架构,搜索方法在数据层。我有一些问题与我的SQL查询:

public DataSet recherche(string code)
{
    DataSet ds = null;
    using (OleDbConnection cnn = new OleDbConnection(strConn))
    {
        cnn.Open();
        string Oledb = "SELECT * FROM Code WHERE Imei=@IMEI";
        using (OleDbDataAdapter adapter = new OleDbDataAdapter(Oledb, cnn))
        {
            adapter.SelectCommand.Parameters.AddWithValue("@IMEI", code);
            ds = new DataSet();
            adapter.Fill(ds, "Code");
        }
    }
    return ds;
}

业务逻辑层:

namespace unlock2_buisness
{
    public  class code_imei
    public DataSet rechercheduCode(string imei)
    {
        unlockDAL objetDataLayer = new unlockDAL();
        if (imei == "")
            throw new Exception("merci d'indique l'imei de recherche");
        DataSet dt = null;
        dt = objetDataLayer.recherche(imei);
        return dt;
}

在我的用户层中,专门用于搜索以文本框代码显示结果的文本框没有响应,并且我没有通过提供设备IMEI来获得适当的代码,因为它应该来自表。

private void btnrechercheimei_Click(object sender, EventArgs e)
{
    imeiLogic.rechercheduCode(txtimei.Text);
    imeiLogic.rechercheduCode(txtcode.Text);
}
我将感激你的支持。

如何在文本框中显示搜索结果?

问题是你如何使用你的businesslogic类。

public DataSet rechercheduCode(string imei)接受一个字符串作为输入参数并返回一个DataSet。

当你像这样调用方法时:

imeiLogic.rechercheduCode(txtimei.Text);

提供输入参数(文本框中的值),但不将返回的Dataset存储在变量中。

数据集将有一个名为Code的表,该表将保存查询的结果行,如果没有找到,则保存0行。

尽可能接近你当前的实现,我建议这样做:

private void btnrechercheimei_Click(object sender, EventArgs e)
{
    // call the BLL to get a dataset
    var dataSet = imeiLogic.rechercheduCode(txtimei.Text);
    // get our table in the dataset
    var codeTable = dataSet.Tables["Code"]; // table
    // check if there was a row returned
    if (codeTable.Rows.Count > 0)
    {
        var row = codeTable.Rows[0];  // pick the first one
        txtcode.Text = row["code_mck"].ToString();  // update our textbox 
    }    
    // Add handling for 0 rows and/or more than 1 rows returned
}