在使用Jdbc将Android Studio应用程序连接到Mysql时,是什么导致了此错误
尝试使用此查询使用以下代码将数据保存到mysql本地数据库时:在使用Jdbc将Android Studio应用程序连接到Mysql时,是什么导致了此错误,android,jdbc,mysql-connector,Android,Jdbc,Mysql Connector,尝试使用此查询使用以下代码将数据保存到mysql本地数据库时: private void addEvent_query(String eventEndDateTime, String eventFrequencyText, String eventIdText, String isGoal, String eventNameText, String eventNotificationDateTime, String eventStartDateTime) { try {
private void addEvent_query(String eventEndDateTime, String eventFrequencyText, String eventIdText, String isGoal, String eventNameText, String eventNotificationDateTime, String eventStartDateTime) {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException cnfe) {
System.out.println("Driver not loaded");
return;
}
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost", "root", "GroupG");
Statement stmt = conn.createStatement();
stmt.executeUpdate("insert into DBO.EVENT(EndDate, Frequency, Id, IsGoal, Name, NotificationDate, StartDate) " +
"values (" + eventEndDateTime + ", " + eventFrequencyText + ", " + eventIdText + ", '" + isGoal + "', '" + eventNameText + "', '" + eventNotificationDateTime + "', '" + eventStartDateTime + "')");
conn.close();
stmt.close();
} catch (SQLException se) {
System.out.println("Error");
return;
}
}
我在尝试调用时遇到以下错误:
原因:java.lang.NoClassDefFoundError:描述符无效:CapabilitiesGetOrBuilder。
在com.mysql.cj.jdbc.ForwardedConnectionCleanupThread.(ForwardedConnectionCleanupThread.java:58)
位于java.lang.Class.classForName(本机方法)
位于java.lang.Class.forName(Class.java:453)
位于java.lang.Class.forName(Class.java:378)
位于com.mysql.cj.jdbc.NonRegisteringDriver.(NonRegisteringDriver.java:99)
位于java.lang.Class.classForName(本机方法)
位于java.lang.Class.forName(Class.java:453)
位于java.lang.Class.forName(Class.java:378)
在com.example.earlybird.AddEventActivity.addEvent_查询中(AddEventActivity.java:251)
在com.example.earlybird.AddEventActivity.access$900(AddEventActivity.java:24)
在com.example.earlybird.AddEventActivity$8.onClick(AddEventActivity.java:240)上
到mysql本地数据库
您确定它是您期望的本地数据库吗?它是否运行在您正在执行此应用程序的同一个Android设备上?您在哪一行获得该异常?您不应该使用来自Android的JDBC驱动程序。使用RESTAPI在应用程序和数据库之间进行调解。在本例中,错误可能与最近使用的一个Java功能有关,该功能不受Android支持。@VladyslavMatviienko它在我的本地机器上从MySQL运行,但在Android设备本身上不运行。导致问题的代码行似乎是:Class.forName(“com.mysql.jdbc.Driver”)@MarkRotterVeel我希望避免使用rest API,但可能必须研究它。对于mysql本地数据库
您确定它是您期望的本地数据库吗?它是否运行在您正在执行此应用程序的同一个Android设备上?您在哪一行获得该异常?您不应该使用来自Android的JDBC驱动程序。使用RESTAPI在应用程序和数据库之间进行调解。在本例中,错误可能与最近使用的一个Java功能有关,该功能不受Android支持。@VladyslavMatviienko它在我的本地机器上从MySQL运行,但在Android设备本身上不运行。导致问题的代码行似乎是:Class.forName(“com.mysql.jdbc.Driver”)@MarkRotterVeel我希望避免使用RESTAPI,但可能必须研究一下。