我正在尝试删除从数据库中单击的某些行。每一行都显示出来,并有一个删除按钮来删除某一行。Onclick我从行中获取ID,所有这些都起作用了。就在我查看网络时,它返回一个500的错误。这是我的密码
$("body").on('click', '#delete', function(){
var trid = $(this).closest('tr').attr('id');
console.log(trid);
$.ajax({
url: '/firstapp/restservices/countries/delete/' + trid,
type: 'DELETE',
success: function(response) {
console.log(response);
}
});
});
@Path("countries")
public class WorldResource {
private CountryPostgresDaoImpl CountryPostgresDao = new
CountryPostgresDaoImpl();
@Path("delete/{code}")
@DELETE
@Produces("application/json")
public Response deleteCountry(@PathParam("code") String code) throws SQLException {
Country country = ServiceProvider.getWorldService().getCountryByCode(code);
if(!CountryPostgresDao.Delete(country)) {
return Response.status(404).build();
}
return Response.ok().build();
}
Request URL: http://localhost:8888/firstapp/restservices/countries/delete/AF
Request Method: DELETE
Status Code: 500
Remote Address: [::1]:8888
Referrer Policy: no-referrer-when-downgrade
public Country getCountryByCode(String code) throws SQLException {
return CountryPostgresDao.findByCode(code);
}
public Country findByCode(String cd) throws SQLException {
return findCountries("SELECT code, iso3, name, continent, region, surfacearea, population, latitude, longitude, capital, governmentform FROM country WHERE code = " + cd).get(0);
}
使用findCountrys方法
public List<Country> findCountries(String query) throws SQLException{
List<Country> results = new ArrayList<Country>();
try (Connection con = super.getConnection()) {
Statement stmt = con.createStatement();
ResultSet dbResultSet = stmt.executeQuery(query);
while (dbResultSet.next()) {
String code = dbResultSet.getString("code");
String iso3 = dbResultSet.getString("iso3");
String name = dbResultSet.getString("name");
String capital = dbResultSet.getString("capital");
String continent = dbResultSet.getString("continent");
String region = dbResultSet.getString("region");
Double surfacearea = dbResultSet.getDouble("surfacearea");
int population = dbResultSet.getInt("population");
Double latitude = dbResultSet.getDouble("latitude");
Double longitude = dbResultSet.getDouble("longitude");
String governmentform = dbResultSet.getString("governmentform");
results.add(new Country(code,iso3,name,capital,continent,region,surfacearea,population,governmentform,latitude,longitude));
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
return results;
}
删除DAO
public boolean Delete(Country country) throws SQLException {
boolean result = false;
boolean countryExists = findByCode(country.getCode()) != null;
if (countryExists) {
String query = "DELETE FROM country WHERE code = " + country.getCode();
try (Connection con = super.getConnection()) {
Statement stmt = con.createStatement();
if (stmt.executeUpdate(query) == 1) { // 1 row updated!
result = true;
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
return result;
}
将此findByCode代码更改为如下所示
public Country findByCode(String cd) throws SQLException {
List<Country> countries= findCountries("SELECT code, iso3, name,
continent, region, surfacearea, population,
latitude, longitude, capital, governmentform FROM country WHERE code =
'" + code + "'");
}
if(!countries.isEmpty()) {
return countries.get(0);
}
return null;
}
并且查询错误,应该是
"SELECT code, iso3, name, continent, region, surfacearea, population,
latitude, longitude, capital, governmentform FROM country WHERE code =
'" + code + "'"
这是我得到的错误堆栈跟踪... 无法连接到mydb。创建到mydb的SQL模型连接连接时出错。(错误:oracle.jdbc.OracleDRiver)oracle.jdbc.OracleDRiver创建到mydb的JDBC连接时出错。(错误:oracle.jdbc.OracleDRiver)oracle.jdbc.OracleDRiver。 我正在使用oracle瘦驱动程序连接到数据库。。 SI
我在编码方面是新手,所以我复制粘贴了一些教程的代码,但是当我试图删除“睡眠”列中的所有数据时,出现了这个错误。 Android数据库sqlite。SQLiteException:在“20170128”附近:编译时出现语法错误(代码1)::在android上从20170128删除。数据库sqlite。SQLiteConnection。android上的nativePrepareStatement(本
本文向大家介绍通过数据库对Django进行删除字段和删除模型的操作,包括了通过数据库对Django进行删除字段和删除模型的操作的使用技巧和注意事项,需要的朋友参考一下 删除字段 从Model中删除一个字段要比添加容易得多。 删除字段,仅仅只要以下几个步骤: 删除字段,然后重新启动你的web服务器。 用以下命令从数据库中删除字段: 请保证操作的顺序正确。 如果你先从数据库中删除字段,
问题内容: 我使用塔和sqlalchemy。我不断更新架构文件,并删除并重新创建数据库,以便可以制作新的架构。 每次我通过打开MySql查询浏览器并登录并删除数据库/架构来执行此操作。 如何在Ubuntu Linux中删除完整的linux shell命令中的MySQL db / schema? 问题答案: 尝试以下命令:
本文向大家介绍删除SAP HANA数据库视图,包括了删除SAP HANA数据库视图的使用技巧和注意事项,需要的朋友参考一下 您可以使用Drop命令删除视图,就像我们删除表一样。您可以在数据库视图上的表上执行所有操作。
我正试图从数据库中删除一行,但得到以下错误