用jsp通过jdbc.odbc桥如何向sql server中添加记录?
用jsp通过jdbc.odbc桥如何向sql server中添加记录? 问题点数:68、回复次数:32Top
1 楼zyandzl(超越)回复于 2001-04-22 22:55:00 得分 0
用SQL语句Top
2 楼ender(ender)回复于 2001-04-23 09:32:00 得分 0
哈,怪问题……Top
3 楼backlove(我愿意)回复于 2001-04-23 11:50:00 得分 0
连上了不就能添加了嘛,好奇怪
Top
4 楼friends(朋友)回复于 2001-05-08 16:03:00 得分 0
我的程序是这样写的,运行时总是输出 “insert err”
谁能帮我看看问题出在什么地方
<%@page import="java.sql.*"%>
<%!String sql="";%>
<%String prm="";%>
<%
sql="select * from table1";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:prdn","prdn","prdn");
Statement stm=conn.createStatement();
try
{
ResultSet rs=stm.executeQuery(sql);
rs.moveToInsertRow();
rs.updateString("a1","sssss");
rs.insertRow();
}catch(Exception e)
{
out.print("<br>insert err<br>");
}
%>Top
5 楼friends(朋友)回复于 2001-05-08 17:14:00 得分 0
Who can help me?Top
6 楼flywow(flywow)回复于 2001-05-08 17:18:00 得分 0
你用的是asp的方法把
不行的
用sql="insert into table1 set sss='sss' ";
Top
7 楼friends(朋友)回复于 2001-05-09 09:00:00 得分 0
还是不行呀
我把程序改成这样
<%@page import="java.sql.*"%>
<%!String sql="";%>
<%String prm="";%>
<%
sql="insert into table1 set a1='sss'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:prdn","prdn","prdn");
Statement stm=conn.createStatement();
try
{
stm.executeUpdate(sql);
}catch(Exception e)
{
out.print("<br>insert err<br>");
}
%>
可还是输出“insert err”Top
8 楼friends(朋友)回复于 2001-05-11 10:24:00 得分 0
有人能帮我吗?Top
9 楼friends(朋友)回复于 2001-05-11 10:25:00 得分 0
有人能帮我吗?Top
10 楼friends(朋友)回复于 2001-05-11 18:01:00 得分 0
有人能帮我吗? Top
11 楼friends(朋友)回复于 2001-05-16 08:47:00 得分 0
怎么没人回答?Top
12 楼xzwsun(猎日)回复于 2001-05-16 15:54:00 得分 2
你的SQL 语句有问题换成sql="insert into table1 a1 values '"sss"'";
Top
13 楼xiaoyou(三尺剑)回复于 2001-05-16 16:08:00 得分 10
<%@page import="java.sql.*"%>
<%!String sql="";%>
<%String prm="";%>
<%
sql="insert into table1 (a1) values (?)";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:prdn","prdn","prdn");
Statement stm=conn.createStatement();
PreparedStatement prestmt=null;
try
{
prestmt=conn.prepareStatement(sql);
prestmt.setBytes(1,"aaa");
prestmt.executeUpdate();
}catch(Exception e)
{
out.print("<br>insert err<br>");
}
%>
试试这个如何?Top
14 楼ender(ender)回复于 2001-05-21 09:01:00 得分 5
倒,老兄,你基本的SQL语句都是错的……Top
15 楼xuehf(xuehf)回复于 2001-05-21 16:09:00 得分 2
你的SQL语句是错误的,应该这样去写,
strSQL="insert into table1(a1) values ("+"'"+ss+"'"+")";
当然ss应该是字符串,如果不是的话就将左右的"'"去掉即可Top
16 楼friends(朋友)回复于 2001-05-22 10:01:00 得分 0
我式过strSQL="insert into table1(a1) values ("+"'"+ss+"'"+")";
可是输出还是"insert err"
听了flywow(flywow)的我才改成sql="insert into table1 set a1='sss'";
我也是觉得奇怪怎么jsp中sql语法也便了样
然后我又用了xiaoyou(三尺剑)的方法,可还是有问题,错误清单如下
500 Internal Server Error
/jsp/t.jsp:
javax.servlet.ServletException: Compilation error occured:
Found 1 errors in JSP file:
E:\\jsp\\t.jsp:16: Error: No match was found for method "setBytes(int, java.lang.String)".
这是怎么回事呀,请各位大侠帮帮忙。
Top
17 楼fixopen(dup)回复于 2001-06-01 18:02:00 得分 2
"INSERT INTO table(field1,field2) VALUES('" + val1 + "','" + val2 + "')"Top
18 楼zytang(zytang)回复于 2001-06-02 01:36:00 得分 0
关注,
太有意思了。Top
19 楼friends(朋友)回复于 2001-06-02 08:24:00 得分 0
to fixopen(dup) 你的方法和 xuehf(狂人) 的是一样的嘛
to zytang(zytang) 别光顾着看热闹,看看有什么办法吗Top
20 楼friends(朋友)回复于 2001-06-02 08:25:00 得分 0
to fixopen(dup) 你的方法和 xuehf(狂人) 的是一样的嘛
to zytang(zytang) 别光顾着看热闹,看看有什么办法吗Top
21 楼backlove(我愿意)回复于 2001-06-02 10:34:00 得分 0
逗我玩?Top
22 楼friends(朋友)回复于 2001-06-11 17:04:00 得分 0
我把程序改成这样后,还是输出insert err
但是只查询数据,却可以输出正确结果
这是怎么回事呀
<%@page language="java"%>
<%@page import="java.sql.*"%>
<%@page contentType="text/html;charset=gb2312"%>
<%!String sql="";%>
<%
//sql="select * from table1";
sql="insert into table1 (a1,a2,a3) values('sss','ss,'sss')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:prdn","prdn","prdn");
Statement stm=conn.createStatement();
/*
// 查询记录
ResultSet rs=stm.executeQuery(sql);
while(rs.next())
{
out.print(rs.getString("a1")+"<br>");
}
*/
//插入记录
try
{
stm.executeUpdate(sql);
}catch(Exception e)
{
out.print("insert err");
}
stm.close();
conn.close();
%>
Top
23 楼friends(朋友)回复于 2001-06-12 08:34:00 得分 0
upTop
24 楼friends(朋友)回复于 2001-06-12 08:44:00 得分 0
up
Top
25 楼kookoo(李林)回复于 2001-06-12 08:59:00 得分 0
请检查:
1. 表和列的名称是否和数据库一致。
2. 用户是否有insert的权限。Top
26 楼kookoo(李林)回复于 2001-06-12 09:03:00 得分 47
将out.println("insert err");改为out,println(e);
看具体的出错消息。Top
27 楼friends(朋友)回复于 2001-06-12 11:54:00 得分 0
我按kookoo(李林)的方法,系统提示:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 ''ss,'sss')' 中。
然后我仔细看了一下源程序,原来sql="insert into table1 (a1,a2,a3) values('sss','ss,'sss')";中少了一个单引号,但是我用第一种方法怎么不行,也就是
<%@page import="java.sql.*"%>
<%!String sql="";%>
<%String prm="";%>
<%
sql="select * from table1";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:prdn","prdn","prdn");
Statement stm=conn.createStatement();
try
{
ResultSet rs=stm.executeQuery(sql);
rs.moveToInsertRow();
rs.updateString("a1","sssss");
rs.insertRow();
}catch(Exception e)
{
out.print(e);
}
%>
输出:
java.lang.NullPointerException
我看到书上有的例子就是这样写的
我式了一下xiaoyou(三尺剑)的方法也不行,系统提示
/ts.jsp:22: 在 java.sql.PreparedStatement 中的 setBytes(int,byte[]) 不能被应用到 (int,java.lang.String)
prestmt.setBytes(1,"aaa");
Top
28 楼kookoo(李林)回复于 2001-06-12 12:06:00 得分 0
rs.moveToInsertRow();
rs.updateString();
rs.insertRow();
以上需要jdbc2.0支持,查一下你用的版本。Top
29 楼friends(朋友)回复于 2001-06-12 12:26:00 得分 0
哦,原来是这样,谢谢kookoo(李林)
我用的是 Java(TM) 2 SDK, Version 1.3 +resin 2.0.b2以前用的是jrun3.0情况也是一样的
那jdbc2.0怎么安装呢?Top
30 楼kookoo(李林)回复于 2001-06-12 12:59:00 得分 0
http://java.sun.com/products/jdbc/download.htmlTop
31 楼friends(朋友)回复于 2001-06-12 13:47:00 得分 0
Thank youTop
32 楼friends(朋友)回复于 2001-06-12 13:51:00 得分 0
ok 问题解决了
给分咯Top
相关问题
- jsp连接sql server2000数据库,用odbc、jdbc那种方案比较好!
- 为什麽jsp用jdbc odbc桥调用sql server中的数据就是调不出来呢? 怎样往里写数据?
- JDBC_ODBC
- 在jsp中jdbc-odbc桥是不是不能用啊?
- jsp连接数据库????如何不使用jdbc and odbc??
- 我的JSP为什么找不到JDBC-ODBC驱动程序?
- 请教jsp通过jdbc-odbc访问sqlserver数据库的代码!
- 百万火急:一个 jsp的jdbc的问题,用的是jdbc,odbc桥。
- jsp与SQL Server
- 怎样直接连接sql server2000,而不用jdbc-odbc。谢谢!




