我发现自己在Java中返回了通过Oracle使用max函数进行的查询。
public IEnumerable<Cliente> lastRegister()
{
List < Cliente > ultimo = new List<Cliente>();
DataTable dt = new DataTable();
string query = "select max(Idcliente) as ultimoID from cliente";
dt = bd.ExecuteQuery(query);
if (dt.Rows.Count > 0)
{
foreach (DataRow x in dt.Rows)
{
Cliente c = new Cliente();
c._idCliente = int.Parse(x["ULTIMOID"].ToString());
ultimo.Add(c);
}
}
return ultimo;
}
我发现自己正在C#中使用Web api,这是我的控制器和连接。然后,我使用oracle MAX函数进行查询,它将数据从C#中正确地带给我。
当我想使用返回在Web部件中插入的最后一个ID为JAVA的方法时,问题就开始了,但它给我带来了错误。
尝试在POSTMAN中使用该方法,如果可行,我不知道您是否应该带给我该类的所有属性。
public List<Cliente> lastCliente(){
globalURL +="/ultimo";
try {
HttpURLConnection conn = Conectar(globalURL);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP Error code : "+ conn.getResponseCode());
}
InputStreamReader in = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(in);
String output;
String jsonRespuesta="";
while ((output = br.readLine()) != null) {
jsonRespuesta=output;
}
JSONArray json = new JSONArray(jsonRespuesta);
List<Cliente> xl = new ArrayList<Cliente>();
for (int i = 0; i < json.length(); i++) {
JSONObject e = json.getJSONObject(i);
int lastID = e.getInt("ULTIMOID"); // IT TELLS ME THAT IT DOES NOT FIND THE ULTIMOID OBJECT.
xl.add(new Cliente(lastID));
}
return xl;
} catch (Exception e) {
Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, e);
}
return null;
}
在这里,我保留了在读取jsonobject之后输入的异常。
Grave: org.json.JSONException: JSONObject["ULTIMOID"] not found.
at org.json.JSONObject.get(JSONObject.java:454)
at org.json.JSONObject.getInt(JSONObject.java:514)
这给了我api web方法。