java.sql.SQLException: לא ניתן להוציא הצהרות על מניפולציה של נתונים עם executeQuery ()

Java Sql Sqlexception



רק החלק הראשון של הודעת השגיאה מתפרסם כאן

java.sql.SQLException: Can not issue data manipulation statements with executeQuery(). at com.mysql.jdbc.Statement.checkForDml(Statement.java:302) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1148) at com.lmm.loginDao.UserDao.addUser(UserDao.java:54) at com.lmm.test.UserDaoTest.testAddUser(UserDaoTest.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)

בעת שימוש ב- JUnit5 להוספת בדיקות של יחידות משתמש, נתקל בשגיאה זו לאחר הפתרון, הקליט את הפתרון



הסיבה לשגיאה זו היא שהשתמשו בה בעת ביצוע פעולות הוספה, מחיקה, עדכון excecuteQuery() שיטה במקום שיטת excecuteUpdate ()
הסיכום המקוון אומר:
משפט executeQuery () משמש להפקת קבוצת תוצאות בודדת, כגון משפט בחר,
באילו נסיבות להשתמש ב- executeQuery (), כאשר מסד הנתונים שלך שמר נתונים, עליך לשאול.
executeUpdate (): משמש לביצוע הוספה, עדכון או מחיקה של הצהרות, ערך ההחזרה מציין את מספר השורות המושפעות, כלומר הערך המעודכן
execute () מריץ את ההצהרה ומחזיר אם קיימת קבוצת תוצאות.