import java.sql.*;
import java.io.*;
public class User {
String s1;
int age;
String s2;
String s3;
/**
* @param args
* @return
*/
public void AddUser() throws SQLException {
try {
// TODO Auto-generated method stub
BufferedReader str = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("Enter your name");
s1 = str.readLine();
System.out.println("Enter your age");
age = Integer.parseInt(str.readLine());
System.out.println("sex");
s2 = str.readLine();
System.out.println("DOB");
s3 = str.readLine();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:20june");
String query = "insert into UserDetails values(?,?,?,?)";
PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, s1);
ps.setInt(2, age);
ps.setString(4, s2);
ps.setString(3, s3);
ps.executeUpdate();
System.out.println("Record Inserted");
ps.close();
con.close();
} catch (Exception ex) {
System.out.println(ex);
}
}
public void SearchUser() throws SQLException, IOException {
String str1;
try {
BufferedReader str2 = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("Enter your search");
str1 = str2.readLine();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:20june");
String query1 = "SELECT * FROM UserDetails WHERE UserName like'str1%'";
PreparedStatement ps = con.prepareStatement(query1);
ps.setString(1, str1);
ps.executeUpdate();
ps.close();
con.close();
}
catch (NullPointerException e)
{
System.out.println(e);
} catch (Exception ex) {
System.out.println(ex);
}
}
public static void main(String[] args) throws IOException, SQLException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
User u1 = new User();
{
System.out.println("-------Menu-----------");
System.out.println("1.Add User Details ");
System.out.println("2.Search user");
System.out.println("Enter your choice");
int m = Integer.parseInt(br.readLine());
switch (m) {
case 1:
u1.AddUser();
break;
case 2:
u1.SearchUser();
break;
default:
System.out.println("Invalid choice");
break;
}
}
}
}
0
A
回答
0
該搜索查詢是錯誤的:
String query1 = "SELECT * FROM UserDetails WHERE UserName like'str1%'";
相反,這樣做:
String query1 = "SELECT * FROM UserDetails WHERE UserName like'%?%'";
2
看堆棧跟蹤發現,是行造成NPE。然後確定哪個變量爲空並修復代碼。我們無法幫助您,因爲我們無法執行代碼,因爲我們無法訪問您的數據庫。
如果問題是,你不知道什麼線引起,那麼問題用打印出堆棧跟蹤:
e.getStackTrace();
當你趕上NPE。
我不知道很多關於SQL,但我使用如下代碼來指定參數:
String sql = "INSERT INTO Page (Name, Title) VALUES (?, ?)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, "Name1");
stmt.setString(2, "Title1");
stmt.executeUpdate();
的想法是保持SQL簡單,所以你續擔心分隔符。
0
你是不是在查詢正確定義參數,用途:
String query1 = "SELECT * FROM UserDetails WHERE UserName like ?";
PreparedStatement ps = con.prepareStatement(query1);
ps.setString(1, str1 + "%");
相關問題
- 1. 字符串搜索(讓顯示java.lang.NullPointerException)
- 2. 在URL中顯示搜索查詢PHP
- 3. 在Rails的基本搜索結果中顯示搜索查詢
- 4. 查詢並顯示mysql搜索結果
- 5. php搜索查詢結果未顯示
- 6. elasticlunr.js不顯示搜索查詢結果
- 7. SQL查詢返回「顯示java.lang.NullPointerException」
- 8. 索引文件未在查詢搜索中顯示
- 9. 顯示java.lang.NullPointerException在android.slidingmenu.adapter.NavDrawerList
- 10. 顯示java.lang.NullPointerException在org.omnifaces.cdi.eager.EagerBeansWebListener.requestInitialized
- 11. 顯示java.lang.NullPointerException在NetBeans
- 12. 顯示java.lang.NullPointerException在CreateNamedQuery
- 13. 顯示java.lang.NullPointerException在org.primefaces.context.RequestContext.getCurrentInstance
- 14. 顯示java.lang.NullPointerException在com.sun.enterprise.deployment.WebBundleDescriptor.getErrorPageDescriptorBySignifier
- 15. 顯示java.lang.NullPointerException在org.apache.catalina.connector.Request.setAttribute
- 16. 顯示java.lang.NullPointerException在com.sun.faces.context.flash.ELFlash.getFlash
- 17. 顯示java.lang.NullPointerException在java.io.PrintWriter.write
- 18. 顯示java.lang.NullPointerException在MySQL
- 19. 顯示java.lang.NullPointerException在org.omnifaces.util.selectitems.SelectItemsCollector.collectFromParent
- 20. 顯示java.lang.NullPointerException在org.primefaces.extensions.component.remotecommand.RemoteCommandRenderer.decode
- 21. 顯示java.lang.NullPointerException在javax.faces.webapp.UIComponentClassicTagBase.setJspId
- 22. 顯示java.lang.NullPointerException在org.hibernate.ejb.criteria.predicate.ComparisonPredicate.render
- 23. SQL搜索查詢應先在搜索
- 24. 顯示在搜索查詢中找到了哪一列
- 25. 搜索查詢並在jtable中顯示結果
- 26. 在Google地圖上顯示來自搜索查詢的結果
- 27. 使用搜索查詢在網頁上顯示實時鳴叫
- 28. JTable在JFrame中僅顯示一次用於搜索查詢
- 29. Android:在SearchActivity的SearchView中顯示搜索查詢
- 30. 使用Linqdatasource不在Gridview中顯示Linq搜索查詢結果