galera,
tem o seguinte, quero fazer uma consulta a um banco usando jdbc/odbc só que não tem jeito da query que passo funcionar… tentei passa-la em modo texto, data… nao funciona… O erro está abaixo do codigo:
...Statementst=con.createStatement();ResultSetres=st.executeQuery("Select * from Pessoa where data_nasc='"+??????+"'");//Aqui vai a data}...
O erro:
java.sql.SQLException:[Microsoft][Driver ODBC para Microsoft Access]Tipodedadosimcompatívelnaexpressãodecritério.atsun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)atsun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)atsun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)atsun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)atsun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)atexportacao.ExportaCps.<init>(ExportaCps.java:26)atexportacao.ExportaCps.main(ExportaCps.java:146)
Use PreparedStatement, é a melhor maneira, vc nunca mais se preocupara com aspas.
strSQL="Select * from Pessoa where data_nasc = ? ";PreparedStatementstmt=this.connection.prepareStatement(strSQL);stmt.setSring(1,data);ResultSetrs=stmt.executeQuery();
caiozanchetti
Show de bola!
Kra to usando tanto o hibernate que eu nem me lembrava que existia o preparedstatement… e lembro de te-lo usado e achado bom o que é melhor…
vlw obrigado mesmo…
T
takeshi10
para esse caso especifico, normalmente eh melhor usar o setDate () ao inves do setString… (a menos, eh claro, que o campo seja, no banco, do tipo String)
Essantos
Obrigado tive o mesmo problema e resolvi assim
renanpto
caiozanchetti:
galera,
tem o seguinte, quero fazer uma consulta a um banco usando jdbc/odbc só que não tem jeito da query que passo funcionar… tentei passa-la em modo texto, data… nao funciona… O erro está abaixo do codigo:
...Statementst=con.createStatement();ResultSetres=st.executeQuery("Select * from Pessoa where data_nasc='"+??????+"'");//Aqui vai a data}...
O erro:
java.sql.SQLException:[Microsoft][Driver ODBC para Microsoft Access]Tipodedadosimcompatívelnaexpressãodecritério.atsun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)atsun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)atsun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)atsun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)atsun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)atexportacao.ExportaCps.<init>(ExportaCps.java:26)atexportacao.ExportaCps.main(ExportaCps.java:146)
Da forma como está fazendo, a string teria que conter a data no padrão esperado pelo banco. Teoricamente deveria funcionar.
Mas, como já sugerido, o mais correto é fazer o uso de PreparedStatement =D.
T
thiago.gou
Pessoal boa tarde!
Estou mexendo em um código php que não foi desenvolvido por mim. A ideia é que ele percorre o BD lista os elementos em uma tabela. Quando um usuário clica em um elemento da tabela ele coloca o elemento clicado como o 1º elemento da tabela e o restante dos itens ficam em suas possições normais. O problema é que ao clicar nesse item toda a combinação do mysql_fetch_array não estão funcionando. Se coloco fora o if, funfa. Se entra no if, não funfa. Alguém pode me ajudar?
Segue um trecho do código:
<?phpif((!isset($_REQUEST["ordem"]))||($_REQUEST["ordem"]==""))$_REQUEST["ordem"]="nm_exame";$_REQUEST["especialidade"]="0";$sql="select chave,nm_exame,cd_exame,mn_material,nm_sinonimo from tbl_exame_exame";if(isset($_REQUEST["cd_intervencao"]))$sql.=" and chave <> '".$_REQUEST["cd_intervencao"]."' ";$sql.=" order by ".$_REQUEST["ordem"]."";$qry=mysql_query($sql,$con);?><divclass="janela_grid"style="height: 365px;"><tableclass="janela_grid_tabela"width="100%"cellspacing="0"><trclass="janela_grid_tabela_titulo"><td>NomedoExame</td><td>Código</td><td>Material</td><td>Sinônimo</td></tr><?php$classe="janela_grid_tabela_linha1";if(isset($_REQUEST["cd_intervencao"]))//Só entra neste if quando clica em um elemento da tabela.{$sql2="select chave,nm_exame,cd_exame,mn_material,nm_sinonimo from tbl_exame_exame";if(isset($_REQUEST["cd_intervencao"]))$sql2.=" and chave = '".$_REQUEST["cd_intervencao"]."' ";$sql2.=" order by ".$_REQUEST["ordem"]."";$qry2=mysql_query($sql2,$con);if((isset($_REQUEST["cd_intervencao"]))&&($_REQUEST["cd_intervencao"]==$res["chave"])){$classe="janela_grid_tabela_linhaselecionada";$complemento_link="&alteraintervencao=";if(isset($_REQUEST["ordem"]))$complemento_link.="&ordem=".$_REQUEST["ordem"];}else{$complemento_link="";if(isset($_REQUEST["ordem"]))$complemento_link.="&ordem=".$_REQUEST["ordem"];}if($res["excluido"]!=""){$color="red";}else{$color="";}?><trclass="<?phpecho$classe;?>"><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho'BB'.$res["nm_exame"];?></a></td><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho'BB'.$res["cd_exame"];?></a></td><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho'BB'.$res["mn_material"];?></a></td><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho'BB'.$res["nm_sinonimo"];?></a></td></tr><?phpif($classe=="janela_grid_tabela_linha1")$classe="janela_grid_tabela_linha2";else$classe="janela_grid_tabela_linha1";}while($res=mysql_fetch_array($qry)){//se clicar em um exame entra no ifif((isset($_REQUEST["cd_intervencao"]))&&($_REQUEST["cd_intervencao"]==$res["chave"])){$classe="janela_grid_tabela_linhaselecionada";$complemento_link="&alteraintervencao=".$res["chave"];if(isset($_REQUEST["ordem"]))$complemento_link.="&ordem=".$_REQUEST["ordem"];}else{$complemento_link="";if(isset($_REQUEST["ordem"]))$complemento_link.="&ordem=".$_REQUEST["ordem"];}if($res["excluido"]!=""){$color="red";}else{$color="";}?><trclass="<?phpecho$classe;?>"><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho$res["nm_exame"];?></a></td><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho$res["cd_exame"];?></a></td><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho$res["mn_material"];?></a></td><td><ahref="configuracao_tabelas_intervencoes.php?cd_tabela_selecionada=<?phpecho$cd_tabela_selecionada;?>&ordem=<?phpecho$_REQUEST["ordem"]?>&especialidade=<?phpecho$_REQUEST["especialidade"]?>&cd_intervencao=<?phpecho$res["chave"].$complemento_link;?>"class="janela_grid_link"style="color: <?phpecho$color?>;"><?phpecho$res["nm_sinonimo"];?></a></td></tr><?phpif($classe=="janela_grid_tabela_linha1")$classe="janela_grid_tabela_linha2";else$classe="janela_grid_tabela_linha1";}?></table></div>