嗨,大家好,我没有发现有关以下问题的任何有用信息。

我想搜索一个客户的多个字段。
我有一些文本框可以输入搜索条件。

客户表:
姓工作
a b c
a c
一个

例如,当我搜索名称= a,姓氏= b,工作= c时,我想看到我的第一个客户,如果我搜索名字= a,则想看到每个客户(关键是,如果姓氏和工作是null我无法从查询中获取名称)

我想在我的存储过程中搜索客户,该过程必须填充gridview。

我的搜索按钮的C#代码:

protected void btnRicerca_Click(object sender, EventArgs e)
{
    GridView1.Visible = true;


    ClienteInfo CI = new ClienteInfo();
    DboUser objdbo = new DboUser();
    int id_cliente = 0;

    txtNomeCliente.Text = CI.nome_cliente;
    txtCognomeCliente.Text = CI.cognome_cliente;
    txtRagioneSociale.Text = CI.ragione_sociale;
    txtVia.Text = CI.via;
    txtCitta.Text = CI.citta;
    txtProvincia.Text = CI.provincia;
    txtCap.Text = CI.cap;
    txtNazione.Text = CI.nazione;
    txtTelefono.Text = CI.recapito_telefonico;
    txtPartitaIva.Text = CI.partita_iva;
    txtCodiceFiscale.Text = CI.codice_fiscale;
    txtEmail.Text = CI.email;
    txtPubblicaAmministrazione.Text = CI.codice_pubblica_amministrazione;
    CI.id_utente = Convert.ToInt64(Session["Id_Utente"]);

    id_cliente = objdbo.getClienteInfo(CI);
    }

最佳答案

看来您必须根据UI输入值创建SQL查询。
例如,如果有人输入名称和姓氏值,那么您的SQL查询应该像

SELECT * FROM customers WHERE name = "a" and surname = "b";


并且,如果有人仅输入名称,则SQL查询应如下所示。

SELECT * FROM customers WHERE name = "a";


理想情况下,您应该从应用程序中管理SQL查询。我遇到了类似的经历,并且我使用了解释器模式来生成SQL查询。

另外,最好使用类似搜索名称的方式。

例如:SELECT * FROM customers WHERE name like "%a%"

关于c# - mysql搜索多个字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28022549/

10-12 12:38
查看更多