import java.sql.*; public class sql { String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
String dbURL = "jdbc:microsoft:sqlserver://鹏:1433; DatabaseName=hdwy"; 
String userName = "sa1"; 
String userPwd = "sa1"; Connection dbConn;//连接接口
Statement stmt;//sql语句对象
ResultSet rs;//返回的结果集
public sql() throws SQLException ,ClassNotFoundException {        Class.forName(driverName); //说明驱动程序
        dbConn = DriverManager.getConnection(dbURL, userName, userPwd); //获得数据库连接
        stmt=dbConn.createStatement();//sql语句对象
        System.out.println("连接数据库成功"); 
       
      } 
public ResultSet exeSelect(String sql) throws SQLException{//查询数据库
    rs=null;
    rs=stmt.executeQuery(sql);
    return rs;
        }
public void exeDML(String sql) throws SQLException{//执行Dlm数据库
    
        stmt.execute(sql);
    
        }public static void main (String[] args)throws SQLException ,ClassNotFoundException{
     sql sq=new sql();
     ResultSet r=sq.exeSelect("select * from 存储数据");//查询数据库
     int i1=0;
     while(r.next()){
     i1++;
     System.out.println("--------记录号:"+i1+"---------");
     System.out.println(" 电 位 给 定:"+r.getString("电位给定"));
     }
    if(i1==0)
        System.out.println("没有记录");
    String s2="insert into 存储数据(通讯地址)values( '2 ')";
    sq.exeDML(s2);
    
    }
    
} 查询没有任何问题,插入语句不报错误,就是插不进,用查询分析器执行可以插入。郁闷  

解决方案 »

  1.   

    public void exeDML(String sql) throws SQLException{//执行Dlm数据库
       
            stmt.executeUpdate(sql);
       
            } 以上所有代码,SQLException都要catch并打印,
      

  2.   

    执行这句试下
      ResultSet r=sq.exeSelect("select 通讯地址 from 存储数据");//查询数据库 
      

  3.   

    看看数据库是否把autocommit设置成false了。
      

  4.   


    stmt.execute(sql);
    插入的时候要updata下,
    stmt.executeUpdate(s2);
      

  5.   

       什么意思  能具体点吗?autocommit  这个在那啊 ?
      

  6.   

    用个变量判断是否插入数据进数据库,如:
    int i=0;
    i=stmt.executeUpdate(sql); 看看服务器后台有没有什么提示,不可能没提示。再找原因
      

  7.   


    public sql() throws SQLException ,ClassNotFoundException { 
           Class.forName(driverName); //说明驱动程序 
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd); //获得数据库接 
            dbConn.setAutoCommit(false); 
            stmt=dbConn.createStatement();//sql语句对象 
            System.out.println("连接数据库成功"); 
          } 
    public void exeDML(String sql) throws SQLException{//执行Dlm数据库 
        
            stmt.execute(sql); 
           dbConn.commit();
            } 
      

  8.   

    public void exeDML(String sql) throws SQLException{//执行Dlm数据库 
        
            stmt.execute(sql); 
        
            } 
    中stmt.execute(sql); 执行后给一个dbConn.commit();试试,应该是删除、修改、增加不会自动提交事务。
      

  9.   

    将主方法的内容修改一下
     将sql sq=new sql(); 
        ResultSet r=sq.exeSelect("select * from 存储数据");//查询数据库 
    改为:
     sql sq=new sql();
        sq.sql();
        ResultSet r=sq.exeSelect("select * from 存储数据");//查询数据库 
      

  10.   

    将sql sq=new sql();
        ResultSet r=sq.exeSelect("select * from 存储数据");//查询数据库
    改为:
    sql sq=new sql();
        sq.sql();
        ResultSet r=sq.exeSelect("select * from 存储数据");//查询数据库