import java.sql.*;public class Demo
{
public static void main(String[] args)
{
ResultSet result;
Connection con = null;
String[] connectionString = new String[2];
connectionString[0] = "UPDATE Customers SET Password=?,Name=? WHERE Email = ?";
connectionString[1] = "UPDATE Addresses SET Address = " + "dream"+ ",Country = " + "chian" + ",PhoneNumber = "+"888-8888"+",Fax = " +"234 WHERE PKId = 3";
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=Duwamish7", "sa", "");
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
con.setAutoCommit(false);
PreparedStatement updateCustomer =con.prepareStatement(connectionString[0]);
updateCustomer.setString(1,"8887");
updateCustomer.setString(2,"angel");
updateCustomer.setString(3,"[email protected]");
updateCustomer.executeUpdate();
System.out.println("OK");
updateCustomer.execute(connectionString[1]);
PreparedStatement updateAddress =con.prepareStatement(connectionString[1]);
updateAddress.
updateAddress.setString(1,"qingdao");
updateAddress.setString(2,"CH11na");
updateAddress.setString(3,"878-4444");
updateAddress.setString(4,"444-8888");
updateAddress.setInt(5,3);
updateAddress.executeUpdate();
System.out.println("OK");
con.commit();
con.setAutoCommit(true);
con.close();
}
catch( Exception errr )
{
errr.printStackTrace();
try
{
con.rollback();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
}
}我这个程序中总是提示不能克隆数据库联接,不知道是为什么,如果想用带数的STEAMENT来实现事务应该怎么样实现,谢谢
{
public static void main(String[] args)
{
ResultSet result;
Connection con = null;
String[] connectionString = new String[2];
connectionString[0] = "UPDATE Customers SET Password=?,Name=? WHERE Email = ?";
connectionString[1] = "UPDATE Addresses SET Address = " + "dream"+ ",Country = " + "chian" + ",PhoneNumber = "+"888-8888"+",Fax = " +"234 WHERE PKId = 3";
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=Duwamish7", "sa", "");
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
con.setAutoCommit(false);
PreparedStatement updateCustomer =con.prepareStatement(connectionString[0]);
updateCustomer.setString(1,"8887");
updateCustomer.setString(2,"angel");
updateCustomer.setString(3,"[email protected]");
updateCustomer.executeUpdate();
System.out.println("OK");
updateCustomer.execute(connectionString[1]);
PreparedStatement updateAddress =con.prepareStatement(connectionString[1]);
updateAddress.
updateAddress.setString(1,"qingdao");
updateAddress.setString(2,"CH11na");
updateAddress.setString(3,"878-4444");
updateAddress.setString(4,"444-8888");
updateAddress.setInt(5,3);
updateAddress.executeUpdate();
System.out.println("OK");
con.commit();
con.setAutoCommit(true);
con.close();
}
catch( Exception errr )
{
errr.printStackTrace();
try
{
con.rollback();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
}
}我这个程序中总是提示不能克隆数据库联接,不知道是为什么,如果想用带数的STEAMENT来实现事务应该怎么样实现,谢谢
解决方案 »
- 求JSP或销售或数据库的英文文献
- hibernate与struts结合问题
- java的应用程序打包成jar后,运行时怎么获取不到jar中的xml
- 请教:怎么随机取出一条或多条数据库记录
- 怎么获取执行过的所有sql语句
- 兄弟们知道上海复旦金仕达吗?我可能要去工作,大家说说好吗?
- 请教在JSP中如何调用Delphi写的Corba(BOA)程序?
- 想找james研究一下,各位知道哪里有下的没,多谢
- 请大家提供一本比较容易上手的JSP的书?
- 500分,换一个weblogic6.1 sp2的crack或licence,谢谢(不管有否等到下周一结账)
- session混乱的问题??????
- 大多数程序员以后的路该怎么走!……过来人!
updateCustomer.execute(connectionString[1]);
后调用
updateCustomer.close();updateAddress.executeUpdate();
后调用
updateAddress.close();就应该可以了
{
public static void main(String[] args)
{
ResultSet result;
Connection con = null;
String[] connectionString = new String[2];
connectionString[0] = "UPDATE Customers SET Password=?,Name=? WHERE Email = ?";
connectionString[1] = "UPDATE Addresses SET Address = ?,Country =?, PhoneNumber = ?,Fax = ?WHERE PKId = ?";
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=Duwamish7", "sa", "");
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
con.setAutoCommit(false);
PreparedStatement updateCustomer =con.prepareStatement(connectionString[0]);
updateCustomer.setString(1,"8887");
updateCustomer.setString(2,"angel");
updateCustomer.setString(3,"[email protected]");
updateCustomer.executeUpdate();
System.out.println("OK");
updateCustomer.execute(connectionString[1]);
PreparedStatement updateAddress =con.prepareStatement(connectionString[1]);
updateAddress.
updateAddress.setString(1,"qingdao");
updateAddress.setString(2,"CH11na");
updateAddress.setString(3,"878-4444");
updateAddress.setString(4,"444-8888");
updateAddress.setInt(5,3);
updateAddress.executeUpdate();
System.out.println("OK");
con.commit();
con.setAutoCommit(true);
con.close();
}
catch( Exception errr )
{
errr.printStackTrace();
try
{
con.rollback();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
}
}这个是正确的代码,请大家看看