Jump to content

Incorrect syntax near ''[resolvido]


killzone3
 Share

Recommended Posts

boas

Quando corro este codigo da me sempre este erro:

Incorrect syntax near 'vodafone'.

Na dropdownlist escoho o o nome cliente e na texbox ponho o nome do cliente quero pesquisar tipo vodafone

alguem me sabe explicar pk?

Obrigado

 {
        string clausula = null;

        int index = 1;
    
        if (index == 1)
        {
            clausula ="'" + DropDownList5.SelectedItem.Text + "' LIKE '%' " + TextBox1.Text + " '%'";
           index=index +1;
        }
        else if (index > 1)
        {
            clausula += "and '" + DropDownList5.SelectedItem.Text + "'  LIKE '%'  " + TextBox1.Text + "'%'";
           index=index+1;
        }


    SqlDataSource12.SelectCommand = "SELECT site.idSite, site.morada, site.sala,site.nome,cliente.idCliente,cliente.nomeCliente,VLan.VLanId,VLan.idVlan,VLan.idSite,VLan.netmask,VLan.gamaIp,VLan.gateway,VLan.nome,IP.ip,IP.hostname,IP.fqdn,IP.descricao,IP.idVlan FROM site,VLan,IP,cliente where (site.idCliente=cliente.idCliente) and (site.idSite=VLan.idSite) and (IP.idVlan=VLan.idVlan) and  "+clausula+"";
    GridView1.DataSourceID = "SqlDataSource12";
    }
Link to comment
Share on other sites

Que sintaxe é este? "FROM site,VLan,IP,cliente where ..."

Não fazes joins nem nada?

Fazer

Select * from tabela_a,tabela_b where tabela_a.campo=tabela_b.campo

OU

Select * from tabela_a INNER JOIN tabela_b ON tabela_a.campo=tabela_b.campo

é a mesma coisa.

Mas o mais correcto é usar o INNER JOJN.

Em relação ao topico, tenta ver a query gerada para o SelectCommand e posta aqui para se entender melhor

Link to comment
Share on other sites

Pois, não sabia porque uso sempre inner joins, mas não parece haver qualquer problema. Só vendo mesmo o resultado da query

Que resultado da query queres?

eu cada vez que corro o codigo ele da-me sempre o erro: Incorrect syntax near '', e dentro dos '' o valor que coloco sempre na textBox.

Mas se inserir: (nomeCliente LIKE '%' + @nome + '%') em vez do clausula,nao dá erro.

obrigado

Link to comment
Share on other sites

Acho que nos LIKE tens umas cedilhas a mais. EM vez de:

clausula ="'" + DropDownList5.SelectedItem.Text + "' LIKE '%' " + TextBox1.Text + " '%'";

deveria ser:

clausula ="'" + DropDownList5.SelectedItem.Text + "' LIKE '%" + TextBox1.Text + "%'";

para que o texto de textbox1 fique dentro do argumento do LIKE.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Acho que nos LIKE tens umas cedilhas a mais. EM vez de:

clausula ="'" + DropDownList5.SelectedItem.Text + "' LIKE '%' " + TextBox1.Text + " '%'";

deveria ser:

clausula ="'" + DropDownList5.SelectedItem.Text + "' LIKE '%" + TextBox1.Text + "%'";

para que o texto de textbox1 fique dentro do argumento do LIKE.

ok,agora já não me dá o erro,mas agora quando faço a pesquisa nao encontra nada,mas devia.

no select a variável clausula esta a ser vem chamada?

obrigado

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.