public static void search() throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/task4DB?"
+ "user=root&password=123");
PreparedStatement st = con.prepareStatement("select * from tst");
ArrayList<String> fName = new ArrayList<String>();
ArrayList<String> lName = new ArrayList<String>();
ArrayList<Integer> ids = new ArrayList<Integer>();
ResultSet RS=st.executeQuery("select * from tst ");
loop1:
for(String s : fName )
{
while (RS.next()) {
fName.add(RS.getString("fName"));
}
for(int i=0;i<fName.size();i++ )
{
System.out.println(fName.get(i));
}
}
createStatement
不返回preparedstatment
-它返回一个语句
。您需要将SQL传递给PrepareStatement
方法:
PreparedStatement st = con.prepareStatement("select * from tst");
然后:
ResultSet rs = st.executeQuery();
虽然您仍然可以调用executequery
的重载(它采用SQL),但通常不应该调用。(我认为让PreparedStatement
扩展Statement
可能是一个错误。)
while (rs.next()) {
fName.add(rs.getString("fName"));
}
我的代码如下, 我不例外 请帮助我如何解决
线程“main”java.lang.ArithmeticException中出现异常:/by zero at run.prg34.main(prg34.java:8) 如何在java中解决上述算法异常?
uni-app 中多行省略,在ios11+中表现异常,如何解决? 单行省略异常效果: 代码部分 问题:如题如何解决图片中省略异常的地方
我正在尝试将50000条记录插入到一个五节点的卡桑德拉集群中。我正在使用执行异步以提高性能(减少应用程序端的插入时间)。我尝试了具有多个批处理大小的批处理语句,但每次我都遇到以下异常。 我插入了数据,即10000,20000到40000条记录,没有任何问题。以下是我编写的java代码。 其中ps是准备好的语句,batches是批数,batchSize是批中的记录数。 我无法理解这个问题的根本原因。
如何使用实现以下功能? 这是完全不一样的,我实际上如何解决?