import java.sql.*;
public class dbmanager {
private String myDriver = null;
private String myConnStr = null;
private Connection myConn = null;
private Statement myStmt = null; myDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //加载JDBC驱动
myConnStr ="jdbc:microsoft:sqlserver://localhost:1433;"
+ "DatabaseName=EMDB;User=sa;Password="; //连接服务器和数据库EMDB
//加载驱动
try{
Class.forName(myDriver);
}catch(java.lang.ClassNotFoundException e) {
System.err.println("dbmanager(): " + e.getMessage());
} //删除数据
public boolean execDelete(String deleteString) {
try {
myConn = DriverManager.getConnection(myConnStr);
myStmt = myConn.createStatement();
myStmt.executeUpdate(deleteString);
myStmt.close();
myConn.close();
} catch(SQLException ex) {
System.err.println("dbmanager.execDelete:"+ex.getMessage());
}
return true;
}
//关闭创建对象
public void closeManager() {
try {
myStmt.close();
myConn.close();
} catch(SQLException ex) {
ex.printStackTrace();
}
} private void closeStatement() {
try {
myStmt.close();
} catch(SQLException ex) {
ex.printStackTrace();
}
} private void closeConnection() {
try {
myConn.close();
} catch(SQLException ex) {
ex.printStackTrace();
}
}
public static void main(String args[]) {
dbmanager mySql = new dbmanager();
String s2="delect from employee where empId='js0002';";
mySql.execDelete(s2);
try{
mySql.closeManager();
}catch(Exception ex){
mySql.closeStatement();
mySql.closeConnection();
}
}
}
实在不知道该怎么办了,老是报(dbmanager.execDelete:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'from' 附近有语法错误。)的错误,声明几点:1.EMDB数据库里的表employee名字没错,表很简单,没有主键等等,而且“employee”也不像是数据库系统函数吧。
2.我把s2的delect句子放到SQL查询分析器里可以运行,说明句子本身应该没问题,而且表里记录是允许删除的。
3.我把s2的句子改成insert语句,可以成功往数据库里插入一条记录,说明整个连接对象也没问题吧,也不缺少JAR包什么的。
为什么放在一起就老是报错,大哥们帮帮我啊,我还是个学生,没啥经验,愁死了,我估计是数据库权限问题,可是权限我从来没有设置过,难道要如何设置一下权限才能删除成功吗?在线等。。
public class dbmanager {
private String myDriver = null;
private String myConnStr = null;
private Connection myConn = null;
private Statement myStmt = null; myDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //加载JDBC驱动
myConnStr ="jdbc:microsoft:sqlserver://localhost:1433;"
+ "DatabaseName=EMDB;User=sa;Password="; //连接服务器和数据库EMDB
//加载驱动
try{
Class.forName(myDriver);
}catch(java.lang.ClassNotFoundException e) {
System.err.println("dbmanager(): " + e.getMessage());
} //删除数据
public boolean execDelete(String deleteString) {
try {
myConn = DriverManager.getConnection(myConnStr);
myStmt = myConn.createStatement();
myStmt.executeUpdate(deleteString);
myStmt.close();
myConn.close();
} catch(SQLException ex) {
System.err.println("dbmanager.execDelete:"+ex.getMessage());
}
return true;
}
//关闭创建对象
public void closeManager() {
try {
myStmt.close();
myConn.close();
} catch(SQLException ex) {
ex.printStackTrace();
}
} private void closeStatement() {
try {
myStmt.close();
} catch(SQLException ex) {
ex.printStackTrace();
}
} private void closeConnection() {
try {
myConn.close();
} catch(SQLException ex) {
ex.printStackTrace();
}
}
public static void main(String args[]) {
dbmanager mySql = new dbmanager();
String s2="delect from employee where empId='js0002';";
mySql.execDelete(s2);
try{
mySql.closeManager();
}catch(Exception ex){
mySql.closeStatement();
mySql.closeConnection();
}
}
}
实在不知道该怎么办了,老是报(dbmanager.execDelete:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'from' 附近有语法错误。)的错误,声明几点:1.EMDB数据库里的表employee名字没错,表很简单,没有主键等等,而且“employee”也不像是数据库系统函数吧。
2.我把s2的delect句子放到SQL查询分析器里可以运行,说明句子本身应该没问题,而且表里记录是允许删除的。
3.我把s2的句子改成insert语句,可以成功往数据库里插入一条记录,说明整个连接对象也没问题吧,也不缺少JAR包什么的。
为什么放在一起就老是报错,大哥们帮帮我啊,我还是个学生,没啥经验,愁死了,我估计是数据库权限问题,可是权限我从来没有设置过,难道要如何设置一下权限才能删除成功吗?在线等。。
解决方案 »
- java使用JSBC第三方包连接数据库问题
- action获取值传递到jsp界面为空 求解答
- 急!高手帮忙,为什么验证码的图标突然无法显示了?
- 请问用什么软件开发JSP比较好
- 关于单服务器、单数据库的性能上限问题
- JSP跟iframe的问题?(全部家当)
- 请问用JSP如何显示在线人数呀!请各位帮帮吗?好吗?
- 用JavaScript如何能判断日期是比现在时间小,还是比现在的时间大7天!急!!!
- 再问JAVA的中文问题
- 请问在Linux中安装JDK后,JAVA_HOME到底是/usr/java/j2sdk1.4.1-01呢?还是/usr/java呢?我想试配JSP,可我装了tomcat和resin,都不能成
- JNDI查找数据源出错。我用的是tomcat5。数据库是mysql。
- 现在都用jdk那个版本?jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.这个名字都表示什么意思啊?
delete
我复制了你的句子还是报错,我觉得不是SQL语句的问题把
delect真的可以运行成功?还以为真的有这个关键字呢 打开sqlserver帮助查了下 没有
delect from employee where empId='js0002'