注册 登录
编程论坛 J2EE论坛

JDBC连接SQL出错??

Javapet 发布于 2008-03-06 00:40, 1470 次点击
为什么下面代码在执行时会出错??请大家指教!

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>

<%!
        Connection conn;
        Statement s;
        ResultSet rs;
        String dbdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pet";
%>
<%
    try
    {
                Class.forName(dbdriver).newInstance();
                conn=DriverManager.getConnection(url,"sa","123456");
                s=conn.createStatement();
                rs=s.executeQuery("insert into message (user,password) values('a','bbbbb')");
              while(rs.next())
              {
%>
                      <%=rs.getString(1)%><br>
<%    
                }
                      rs.close();
                      s.close();
                      conn.close();
      }
      catch(Exception e)
    {
            out.println(e);
    }
%>
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'user' 附近有语法错误。

[[it] 本帖最后由 Javapet 于 2008-3-6 12:55 编辑 [/it]]
8 回复
#2
带头大哥2008-03-06 00:45
out.println("有错误!!");
这句换成e.printStackTrace();看服务器控制台报什么异常或者换成out.println(e);
#3
guoxhvip2008-03-06 01:39
没有装sp4补丁?又或者没加如jar文件
#4
pacocai2008-03-06 08:09
具体的错误提示是什么?
#5
Starlove2008-03-24 17:12
user是关键字
写在sql语句里肯定有问题
#6
残狼冷烨2008-04-14 11:12
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>

<%!
        Connection conn;
        Statement s;
        ResultSet rs;
        String dbdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pet";
%>
<%
    try
    {
                Class.forName(dbdriver).newInstance();
                conn=DriverManager.getConnection(url,"sa","123456");
                s=conn.createStatement();
                rs=s.executeQuery("insert into message (user,password) values("'+a+',"'+bbbbb+'")");
              while(rs.next())
              {
%>
                      <%=rs.getString(1)%><br>
<%   
                }
                      rs.close();
                      s.close();
                      conn.close();
      }
      catch(Exception e)
    {
            out.println(e);
    }
%>
#7
Javapet2008-04-14 19:09
问题已经解决了,谢谢大家的意见!
#8
zhangyan2972008-04-14 23:19
你的概念不清楚
你的连接估计没有问题,但是,使用查询的语法有问题吧
s=conn.createStatement();//这个适合静态的语句,比如全部查询,无须参数的,如果要用到动态的,请用预编译的Statement
rs=s.executeQuery("insert into message (user,password) values('a','bbbbb')");//这个executeQuery只是查询用的,而你却写了增加,如果要是增加,那么该用executeUpdate
#9
mszhou2008-04-17 14:42
表名,列名最好少用关键字
1