Tópico anterior Próximo tópico Novo tópico
VB.NET
#435826 - 11/03/2014 11:50:27 | ||||
![]() DAMASCENO.CESAR ADAMANTINA Cadast. em:Fevereiro/2009 ![]() |
Bom dia, estou usando o banco de dados mySQL, conectei normal mas ao realizar a pesquisa com o comando SQL abaixo:
SELECT * FROM [dados pessoais] WHERE [dados pessoais].Matricula = [ô][Ô] & CInt(PMat) & [Ô][ô];[Ô] dá erro de sintaxe próximo a: [dados pessoais] WHERE [dados pessoais].Matricula =123456 Ache que deve ser porque o nome da tabela tem espaço Se puderem me ajudar, obrigado. O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings) |
|||
#435831 - 11/03/2014 12:37:05 | ||||
![]() MOUSER CARAPICUIBA Cadast. em:Fevereiro/2014 ![]() |
Tente da seguinte forma:[Ô]select * from dados pessoais where Matricula=[Ô] & CInt(Pmat) & [Ô][ô][Ô]
VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender. Curso de Excel e VB6 www.cursoexcelvba.com.br Blog do Mouser |
|||
#435834 - 11/03/2014 12:50:15 | ||||
![]() DAMASCENO.CESAR ADAMANTINA Cadast. em:Fevereiro/2009 ![]() |
já tentei, ele reconhece apenas [Ô]dados[Ô] como sendo a tabela, tentei com Underline também e deu o mesmo erro.
já tentei com aspas simples, sem aspas simples, com ponto e virgula, sem ponto e virgula mas pelo jeito, deve ser no nome da tabela o erro, pois todas as outras tentativas deram o mesmo erro, com excessão na alteração do nome da tabela - Tabela não existe. O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings) |
|||
Resposta escolhida #435835 - 11/03/2014 12:54:47 | ||||
![]() OCELOT SOROCABA Cadast. em:Março/2012 ![]() |
Se não me engano o MySQL não permite usar os [ ] para os identificadores com caracteres que não sejam alfanuméricos, nele se usa o carácter da crase para isso ` `
[Ô]SELECT * FROM `dados pessoais` WHERE `dados pessoais`.Matricula = [ô][Ô] & CInt(PMat) & [Ô][ô];[Ô] |
|||
#435838 - 11/03/2014 13:02:25 | ||||
![]() NILSONTRES SAO PAULO Cadast. em:Março/2012 ![]() |
SELECT * FROM dados pessoais WHERE Matricula = [ô][Ô] & CInt(PMat) & [Ô][ô]
Não sei se espaço entre o nome da tabela pode gerar erro, já que eu não crio nome de tabelas com espaços e recomendo isso, mas essa query acima tem que funcionar, fora isso o problema pode não estar nela. |
|||
#435840 - 11/03/2014 13:10:01 | ||||
![]() DAMASCENO.CESAR ADAMANTINA Cadast. em:Fevereiro/2009 ![]() |
E eu pensava que deveria ser aspas simples ou colchete para juntar os nomes kkkkkkkkkkkkkk!
quando na realidade deve-se utilizar a crase!!! Outra coisa, rsrsrs. agora tou com um problema quanto ao nome de um campo, quem criou o BD baseou-se em Access e por isso espaços nos nomes, agora tem um campo que pelo HEIDI aparece como: execução, como trata-lo? OBS: Nao tenho acesso pelo console do mySQL para ver corretamente o nome do campo por ele O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings) |
|||
#435842 - 11/03/2014 13:31:02 | ||||
![]() OCELOT SOROCABA Cadast. em:Março/2012 ![]() |
Experimenta colocar o nome do campo entre crases também, caso use o nome da tabela tente no tipo `nome da tabela`.`nome do campo`
|
|||
#435843 - 11/03/2014 13:53:35 | ||||
![]() DAMASCENO.CESAR ADAMANTINA Cadast. em:Fevereiro/2009 ![]() |
Não funcionou, mas é porque não é em comando SQL, tnho que desconectar agora mas amanhã posto o comando que estou usando e o erro
O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings) |
|||
#435871 - 11/03/2014 20:31:42 | ||||
![]() OMAR2011 MONTES CLAROS Cadast. em:Setembro/2011 ![]() |
Cabra,fiz um teste aqui com meu mysql e criei tabela com nome separado e aceitou numa boa.
Mas,o vb não reconheceu dados pessoais separado. Colchetes também não foi aceito pelo mysql. cmd.CommandText = [Ô]SELECT * FROM dadospessoais WHERE dadospessoais.Matricula = [ô][Ô] & CInt(PMat) & [Ô][ô];[Ô] Ai sim funcionou. |
|||
#435886 - 12/03/2014 08:23:31 | ||||
![]() DAMASCENO.CESAR ADAMANTINA Cadast. em:Fevereiro/2009 ![]() |
Omar, tou desenvolvendo uma aplicação em tres camadas e o problema com o nome do campo nao é no comando SQL, no comando SQL já resolvi o problema de acordo com a dica do OCELOT - usando crase para o nome em separado, no lugar de aspas simples ou colchete - , meu problema com o nome do campo está na seguinte linha:
Dados.Execucao = IIf(IsDBNull(dr([Ô]execução[Ô])), 0, dr([Ô]execução[Ô])) DADOS está pegando a propriedade de uma classe e recebendo o valor nesta propriedade de um Data Reader. esta linha funciona com outros campos da tabela sem problema nenhum, mas como o campo execução está com acento e cedilha, o comando não lê este campo, já tentei sem cedilha e sem acento, e nada - Campo não encontrado tem como resolver isso sem alterar o nome do campo? pois existem outras aplicacoes que utilizam esta tabela O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings) |
|||
#435889 - 12/03/2014 09:23:48 | ||||
![]() NILSONTRES SAO PAULO Cadast. em:Março/2012 ![]() |
Última edição em 12/03/2014 09:24:25 por NILSONTRES Se for o que estou pensando, vc não pode nesse caso ai utilizar iif e sim if else, porque ele atende a primeira case de qualquer jeito. |
|||
Tópico anterior Próximo tópico Novo tópico