0

プロジェクトのmysqlに問題があります。ここはどこかおかしいと思います

rs = bd.consultar(
      "SELECT mensagens.assunto as 'Assunto', mensagens.texto as 'texto', usuarios.username as 'Para', mensagens.data_hora as 'Hora Data' "
       + "FROM mensagens, usuarios"
       + "WHERE mensagens.para = usuarios.idusuarios and mensagens.de = " + Login.getUsuarioAtual().getId() + ";");

        while (rs.next()) {
        mensagemTemp = new Mensagem(rs.getString("Assunto"), rs.getString("texto"),
                Login.getUsuarioAtual().getUsername(), rs.getString("Para"), rs.getDate("Hora Data"));

        enviadas.add(mensagemTemp);
    }

これがErroです:

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:一意ではないテーブル/エイリアス:'mensagens'
    ..。
    Banco_de_Dados.BancoDeDados.consultar(BancoDeDados.java:29)で
        Banco_de_Dados.BancoMensagem.mensagensEnviadas(BancoMensagem.java:93)で
        GUI.Mensagens.MensagensRecebidas.initComponents(MensagensRecebidas.java:101)で
        GUI.Mensagens.MensagensRecebidasで。(MensagensRecebidas.java:27)
        GUI.Login.jBentrarActionPerformed(Login.java:230)で
        GUI.Login.access $ 200(Login.java:20)で
        GUI.Login $ 3.actionPerformed(Login.java:171)で
    ..。

私はmysqlのJavaコードなしでクエリを実行しました、私はそれが動作します。誰かが何か間違っているのを見ることができます???

私の英語について申し訳ありません

4

2 に答える 2

1

わあ、クエリで+ "FROM mensagens、usuarios"の後にスペースを忘れてしまいました。ごめんなさい。

于 2013-04-15T11:22:42.750 に答える
0
SELECT m.Assunto 
     , m.Texto 
     , u.username Para
     , m.data_hora `Hora Data`
  FROM mensagens m
  JOIN usuarios u
    ON u.idusuarios = m.username 
 WHERE m.de = Login.getUsuarioAtual().getId();
于 2013-01-12T17:48:48.057 に答える