当前位置: 技术问答>java相关
[SQL Server]在关键字 'null' 附近有语法错误!?
来源: 互联网 发布时间:2017-03-27
本文导语: 向SQL Server 中插入数据时:javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'null' 附近有语法错误!? 用户确认信息后,点击提交,转入“insert.jsp”,这是出现此错误,数据库用测试了没...
向SQL Server 中插入数据时:javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'null' 附近有语法错误!?
用户确认信息后,点击提交,转入“insert.jsp”,这是出现此错误,数据库用测试了没问题.(sqlserver: create table lyo(name varchar(200),age , sex varchar(200),school varchar(200),work varchar(200)) )
////////////////////////insert.jsp////////////////////////////////////
insert.jsp
谢谢你的注册,5秒钟后会自动返回(如果不愿等待,请点击Back.
/////////////////////gbookdb.java///这是我的javabean(可能是他的问题/////////
package gbook;
import java.sql.*;
public class gbookdb{
public ResultSet rs;
public Statement stm;
public Connection conn;
String sql="select * from lyo";
public gbookdb()throws SQLException,Exception{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)throws SQLException{
conn=DriverManager.getConnection("jdbc:odbc:gbook");
stm=conn.createStatement();
rs=stm.executeQuery(sql);
return rs;
}
public void executeUpdate()throws SQLException{
}
}
是哪里错了呢?多谢指点!
用户确认信息后,点击提交,转入“insert.jsp”,这是出现此错误,数据库用测试了没问题.(sqlserver: create table lyo(name varchar(200),age , sex varchar(200),school varchar(200),work varchar(200)) )
////////////////////////insert.jsp////////////////////////////////////
insert.jsp
谢谢你的注册,5秒钟后会自动返回(如果不愿等待,请点击Back.
/////////////////////gbookdb.java///这是我的javabean(可能是他的问题/////////
package gbook;
import java.sql.*;
public class gbookdb{
public ResultSet rs;
public Statement stm;
public Connection conn;
String sql="select * from lyo";
public gbookdb()throws SQLException,Exception{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)throws SQLException{
conn=DriverManager.getConnection("jdbc:odbc:gbook");
stm=conn.createStatement();
rs=stm.executeQuery(sql);
return rs;
}
public void executeUpdate()throws SQLException{
}
}
是哪里错了呢?多谢指点!
|
age应该是数值型吧,插入时不要加单引号
String sql="insert into lyo VALUES('";
sql+=name;
sql+="',";
sql+=age;
sql+=",'";
sql+=sex;
sql+="')";
sql+=school;
sql+="','";
sql+=work;
sql+="')";
另外,先把这句gbookdb.executeQuery(sql);注释掉,看有没有错误,这样就知道错误到底发生在哪里了
调试是一门很重要的技术
String sql="insert into lyo VALUES('";
sql+=name;
sql+="',";
sql+=age;
sql+=",'";
sql+=sex;
sql+="')";
sql+=school;
sql+="','";
sql+=work;
sql+="')";
另外,先把这句gbookdb.executeQuery(sql);注释掉,看有没有错误,这样就知道错误到底发生在哪里了
调试是一门很重要的技术
|
怎么rs.getInt("name")和rs.getString("age"),类型写反了吧
|
应该是有些字段设置为必须不为null,而你sql了没有进行赋值