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包什么的。
  
为什么放在一起就老是报错,大哥们帮帮我啊,我还是个学生,没啥经验,愁死了,我估计是数据库权限问题,可是权限我从来没有设置过,难道要如何设置一下权限才能删除成功吗?在线等。。

解决方案 »

  1.   

    delect from employee where empId='js0002'
      

  2.   

    "delect from employee where empId='js0002';";
    delete
      

  3.   


    我复制了你的句子还是报错,我觉得不是SQL语句的问题把
      

  4.   

    我把s2的delect句子放到SQL查询分析器里可以运行
    delect真的可以运行成功?还以为真的有这个关键字呢  打开sqlserver帮助查了下 没有
      

  5.   

    你复制我的干什么?我的红色表示你把delete写成了delect 
      

  6.   

    delete from employee where empId='js0002' 这个是你写的句子 是错的
    delect from employee where empId='js0002'