【问题标题】:Connect to MSSQL with USB in android在 android 中使用 USB 连接到 MSSQL
【发布时间】:2015-05-21 20:32:01
【问题描述】:
private void fillCustomerInformationFields() throws  SQLException {
    Connection conn = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet;
    Intent intent = getIntent();
    String IDValue = intent.getStringExtra("id");

    String query = "SELECT  SiparisID, M.MusteriAdi + ' ' + M.MusteriSoyadi AS MusteriAdi, U.UrunAdi," +
            " CASE WHEN OdemeTuru=0 THEN ? WHEN OdemeTuru=1 THEN ? WHEN OdemeTuru=2 THEN ? END AS OdemeTuru, TeslimTarihi,"+
    "M.musteriAdresi, SiparisDurumu, Aciklama FROM Siparisler S INNER JOIN Musteriler M ON M.MusteriID=S.MusteriID INNER JOIN Urunler U ON U.UrunID=S.urunID"+
    "WHERE S.SiparisID='"+IDValue+"'";

    try {
        conn = getDBConnection();
        preparedStatement = conn.prepareStatement(query);
        preparedStatement.setString(1,"Peşin");
        preparedStatement.setString(2,"Taksitli");
        preparedStatement.setString(3,"Kapıda");
        resultSet = preparedStatement.executeQuery();

        while(resultSet.next())
        {
            edtSiparisID.setText(resultSet.getString("SiparisID"));
            edtUrunAdi.setText(resultSet.getString("UrunAdi"));
            edtMusteriAdi.setText(resultSet.getString("MusteriAdi"));
            edtOdemeTuru.setText(resultSet.getString("OdemeTuru"));
            edtTeslimTarihi.setText(resultSet.getString("TeslimTarihi"));
            edtSiparisAdresi.setText(resultSet.getString("musteriAdresi"));
            edtAciklama.setText(resultSet.getString("Aciklama"));
        }
    }catch (SQLException e){
        e.printStackTrace();
    }finally {
        if(preparedStatement != null){
            preparedStatement.close();
        }
        if(conn != null){
            conn.close();
        }
    }

}

大家好。我正在制作一个项目,我通过 USB 从 android 应用程序连接到 mssql。我编写了从 mssql 读取数据的代码,但出现错误。我该如何解决这个错误?感谢您的帮助

LogCat中显示的异常是:

com.example.uur.stock W/System.err﹕ java.sql.SQLException: Incorrect syntax near 'S'.

【问题讨论】:

  • 05-21 23:13:25.040 19042-19042/com.example.uur.stock W/System.err: java.sql.SQLException: 'S'附近的语法不正确。

标签: android jdbc


【解决方案1】:

检查您的查询

String query = "SELECT  SiparisID, M.MusteriAdi + ' ' + M.MusteriSoyadi AS MusteriAdi, U.UrunAdi," +
            " CASE WHEN OdemeTuru=0 THEN ? WHEN OdemeTuru=1 THEN ? WHEN OdemeTuru=2 THEN ? END AS OdemeTuru, TeslimTarihi,"+
    "M.musteriAdresi, SiparisDurumu, Aciklama FROM Siparisler S INNER JOIN Musteriler M ON M.MusteriID=S.MusteriID INNER JOIN Urunler U ON U.UrunID=S.urunID"+
    "WHERE S.SiparisID='"+IDValue+"'";

这是导致异常的原因:

FROM Siparisler S JOIN Musteriler M 

必须改成

FROM Siparisler as S JOIN Musteriler as M 

更多信息:

SQLite - ALIAS Syntax

【讨论】:

  • 可能您的查询中有更多错误,请发布您在 LogCat 中显示的错误消息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多