急问题:在java中嵌入sql的插入语句,插入成功,但是出现异常 对吗?我感觉那个INSERT 语句都不对呀?不用INTO吗?呢的连接对吗?系统说没有找到相应的记录呀。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是在sql server的查询分析器里输入这条语句没错,运行正常。 你的sql语句语法有错误,但因为它是作为一个合法的字符串对象,所以编译器监测不出错误。 sql 语句已经改为insert into Tablepl values ('123','name') public class President { public static void main(String[] arguments) { String data = "jdbc:odbc:prc_c"; //odbc-jdbc桥 try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection(data, "sa", ""); PreparedStatement pstm = conn.prepareStatement( "INSERT INTO Tablepl( ?,?) VALUES ( ?, ?)"); pstm.executeUpdate(); pstm.close(); }catch (SQLException s) { System.out.println("SQL Error: " + s.toString() + " " + s.getErrorCode() + " " + s.getSQLState()); } catch (Exception e) { System.out.println("Error: " + e.toString() + e.getMessage()); }finally { try { if (conn != null) conn.close(); } catch (SQLException e) { } } }}我的机器上没装SQL Server 所以没法帮你测试,试试上面的代码。 是因为INSERT语句的结果不是结果集,而是INSERT作用的行数,如果用int i = st.executeQuery(s); 应可以 问题: String s="insert Tablepl values ('123','name')"; //sql插入语句 ResultSet rec = st.executeQuery(s); 解决分析: sql语句: 1、INSERT, UPDATE or DELETE statements 语句: 执行:Connection.createStatement.executeUpdate(String s); 2、SELECT statements 执行:Connection.createStatement.executeQuery(String s); 3、 s="insert Tablepl values ('123','name')"; //sql插入语句 最好写成:s="INSERT INTO Tablepl values ('123','name')"; :(执行INSERT该用“executeUpdate”,好好看看JAVA文档吧…… 对insert,update,delete请不要用executeQuery(),而要用executeUpdate() insert语句并不返回值,请不要附给别的变量,这种错误我以前碰到过,只要单独写:st.executeUpdate(s); 就ok了,对了,楼上说的很对,应该用executeUpdate 补充一点,insert语句返回的是插入的数目,是整数. 有谁有JFreeChart的Demo的源代码 java字符串比较问题 今天复习了一下一些简单的排序算法,贴出来给大家批评批评,顺便散一下分 新手问个问题 jsp:include中的flush是什么意思? JAVA连接SQL SERVER数据库的怪问题 这个程序是个书上的判断题,为什么会编译错误啊 急急急!!!!!!!!!!!!!!!!!!!!!!!!11 后行者求教了! 高分求测试经验(如果有用必定以高分相送) inprise application server哪里可以下载?51分求助! 一个非常非常简单的问题
public static void main(String[] arguments) {
String data = "jdbc:odbc:prc_c"; //odbc-jdbc桥
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(data, "sa", "");
PreparedStatement pstm =
conn.prepareStatement(
"INSERT INTO Tablepl( ?,?) VALUES ( ?, ?)");
pstm.executeUpdate();
pstm.close();
}catch (SQLException s) {
System.out.println("SQL Error: " + s.toString() + " "
+ s.getErrorCode() + " " + s.getSQLState());
} catch (Exception e) {
System.out.println("Error: " + e.toString()
+ e.getMessage());
}finally {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
}
}
我的机器上没装SQL Server 所以没法帮你测试,试试上面的代码。
String s="insert Tablepl values ('123','name')"; //sql插入语句
ResultSet rec = st.executeQuery(s);
解决分析:
sql语句:
1、INSERT, UPDATE or DELETE statements 语句:
执行:Connection.createStatement.executeUpdate(String s);
2、SELECT statements
执行:Connection.createStatement.executeQuery(String s);
3、 s="insert Tablepl values ('123','name')"; //sql插入语句
最好写成:s="INSERT INTO Tablepl values ('123','name')";
st.executeUpdate(s);
就ok了,对了,楼上说的很对,应该用executeUpdate