【发布时间】:2011-04-22 20:28:37
【问题描述】:
替换为
package p1;
import java.sql.*;
public class jdbcDemo
{
public static void main(String args[])
{ int id = 0;
try
{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:loginDSN");
Connection con1 = DriverManager.getConnection("jdbc:odbc:loginDSN");
Statement stat = con.createStatement();
System.out.println("got connection");
ResultSet rs = stat.executeQuery("Select max(UID) from mytable");
while(rs.next())
{ id=rs.getInt(1);
}
id++;
System.out.println(id);
PreparedStatement ps = con1.prepareStatement("Insert into mytable(UID,Username,Password) values(?,?,?)");
ps.setInt(1,id);
ps.setString(2,"abhi");
ps.setString(3,"bindra");
ps.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
输出是
得到连接 6
但没有反映变化:(
【问题讨论】:
-
将
System.out.println("exception")替换为e.printStackTrace(),然后告诉我们它的含义。 -
您仍然需要告诉我们它的内容。向我们展示它打印到控制台的堆栈跟踪。
-
没有堆栈跟踪。它运行完美。即使我将其设置为 int rows=ps.executeUpdate();它显示行的值为 1,但是当我查看表格时,没有记录的迹象。
标签: java database jdbc prepared-statement