to:byfree int i=rs.getint(1) 的结果是i=表中的记录数。 stmt.executeUpdate("INSERT INTO test (a,b) VALUES (rs.getInt(1),'2')");时出错。 错误提示: java.sql.SQLException: ORA-00904: 无效列名 如果改成下面这样: stmt.executeUpdate("INSERT INTO test (a,b) VALUES (i'2')");时出错。 错误提示: java.sql.SQLException: ORA-00984: 列在此处不允许
stmt.executeUpdate("insert into test(a,b) values('" + rs.getInt(1) + "','2')"
多谢你的指教,现在这几句没错了下面一句怎么写呀?
我的意思是先查一下当前有几条记录,之后把当前插入的记录用这个序号标识。
错误提示:
java.sql.SQLException: [Oracle][ODBC][Ora]ORA-00917: ????
原语句:
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (int i,'2')");
给它个别名。int i=0;
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (i,'2')");
这样不行。
错误提示:
java.sql.SQLException: ORA-00984: 列在此处不允许
SQL> desc test;
名称 空? 类型
----------------------------------------- -------- -----------
A NUMBER
B CHAR(10)
我的OICQ:50081811
请各位高手多多指教。
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%><!--告诉编译器使用SQL包-->
<%@ page import="java.sql.*"%><%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page contentType="text/html;charset=gb2312" session="true"%><%
//以try开始
try
{
Connection con;
Statement stmt;
ResultSet rs;//加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//用适当的驱动程序连接到数据库,test"是系统dsn名
String url="jdbc:oracle:thin:@192.168.0.89:1521:ora8";//String url="jdbc:odbc:test";//建立连接,类似于ASP中的创建数据库联接
con=DriverManager.getConnection(url, "user1", "pass1");//创建一个JDBC声明
stmt = con.createStatement();//增加新记录
//stmt.executeUpdate("delete from test");
rs = stmt.executeQuery("select count(*) from test");
rs.next();
int i=rs.getInt(1);
//stmt.executeUpdate("INSERT INTO test (a,b) VALUES (rs.getInt(1),'2')");
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (2,'345234')");//查询记录
rs = stmt.executeQuery("SELECT a,b from test");//输出查询结果
out.println("<table border=1 width=400>");
while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);
//打印所显示的数据
out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>");
}
out.println("</table>");
}//如果加载时出错,给出相应的错误信息
catch (Exception e) {out.print(e.toString());
}
%>
1. 使用jdbc-odbc桥时,驱动器url应该用jdbc:odbc:test
若url用jdbc:oracle:thin:@192.168.0.89:1521:ora8,对应的
该用oracle的jdbc驱动:oracle.jdbc.driver.OracleDriver
2. test是dsn名,之后的sql语句中的test是其中的一张表吗?
你不会是一下子写了这么多,再调试后出错的吧,最好也写出加了哪些
后出错。
int i=rs.getint(1)
的结果是i=表中的记录数。
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (rs.getInt(1),'2')");时出错。
错误提示:
java.sql.SQLException: ORA-00904: 无效列名
如果改成下面这样:
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (i'2')");时出错。
错误提示:
java.sql.SQLException: ORA-00984: 列在此处不允许