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搜索查询结果