当前位置:首页
开发技术指南» 文章正文
    引言:

 ·工具栏的背景颜色设置    »显示摘要«
    摘要: 各位大哥大姐: 如何进行工具栏背景颜色的设置? 我的工程是基于多文档的,应该在哪个类的那个函数中进行设置? 谢谢! 急! ......
    摘要: pstream->waitfordata(0x7fffffff); if (pstream->waitfordata(0x7fffffff)) try { size=pstream->read(buf+sl,count-sl); sl=sl+size; } catch(...) { } 为什么要调用两次?我查阅了网上的资料,说是可以有效减少接收到0字节的情况发生。能具体解......


jsp连接SQL SERVER失败

<%   page   contentType="text/html;charset=GB2312"%>  
  <%   page   import   "java.sql.*"%>  
  <HTML>  
  <BODY>  
  <%  
      Connection   con;  
      Statement   sql;  
      ResultSet   rs;  
      try{  
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
            }  
      catch(ClassNotFoundException   e){}  
      try{  
      con=DriverManager.getConnection("jdbc:odbc:sun","sa","820921");  
      sql=con.createStatement();  
      rs=sql.executeQuery("SELECT   *   FROM   students");  
      out.print("<Table   Border>");  
      out.print("<TR>");  
      out.print("<TH   width=100>"+"学号");  
      out.print("<TH   width=100>"+"姓名");  
      out.print("<TH   width=100>"+"数学成绩");  
      out.print("<TH   width=100>"+"英语成绩");  
      out.print("<TH   width=100>"+"语文成绩");  
      out.print("</TR>");  
      while(rs.next())  
      {  
          out.print("<TR>");  
          out.print("<TD>"+rs.getString(1)+"</TD>");  
          out.print("<TD>"+rs.getString(2)+"</TD>");  
          out.print("<TD>"+rs.getInt("student_math")+"</TD>");  
          out.print("<TD>"+rs.getInt("student_english")+"</TD>");  
          out.print("<TD>"+rs.getInt("student_chinese")+"</TD>");  
          out.print("</TR>");  
      }  
      out.print("/Table");  
      con.close();  
                }  
      catch(SQLException   ee){}      
  %>  
  </BODY>  
  </HTML>  
   
   
   
   
  我已经添加数据源.

NO.1   作者: javazhai

不通过odbc桥来操作数据库,采用SQL   Server   driver   来实现对SQL   Server数据库的操作,   ,因为jdbc-odbc桥是一种常见的操作windows系统数据库的常用方法,但它存在的缺点很多,所以现在很多开发者都侧重于使用sqlserver   driver来操作,在这里我们通过一步步的调试,来加深读者对这种连接的理解  
   
    在通常的理解下,只要我们装了sqlserver   driver   for   jdbc   我们便可进行数据库编程,事实则不然,首先我们看下边的代码:  
   
  /***********************************************  
  /*  
  /*DbTest.java  
  /*http://www.knowsky.com  
  /*******************************************   */  
   
  import   java.sql.*;  
   
  public   class   DbTest   {  
   
   Connection   con;  
   Statement   sta;  
   ResultSet   rs;  
   
   String   driver;  
   String   url;  
   String   user;  
   String   pwd;  
   public   DbTest()  
   {  
    driver   =   "com.microsoft.jdbc.sqlserver.SQLServerDriver";;  
    url   =   "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName   =StoreManager";  
    user   =   "sa";  
    pwd   =   "potsmart10";  
    init();  
   }  
   public   void   init()  
   {  
    try{  
     Class.forName(driver);  
     System.out.println("driver   is   ok");  
     con   =   DriverManager.getConnection(url,user,pwd);  
     System.out.println("conection   is   ok");  
     sta   =   con.createStatement();  
     rs   =   sta.executeQuery("select   *   from   room");  
     while(rs.next())  
     System.out.println(rs.getInt("roomNum"));    
    }catch(Exception   e)  
    {  
     e.printStackTrace();  
    }  
   }  
   
   public   static   void   main(String   args   [])//自己替换[]  
   {  
    new   DbTest();  
   }  
  }      
   
    这段代码跟上变得代码是一样的,差别在于驱动,还有url,这是在使用sqlserver   driver   for   jdbc   中遇到的困惑。按道理讲,上边这段代码应该没错,可首先我们来看一下,如果SQL   Server服务器没有升级到sp3,我们看看运行结果  
   
  driver   is   ok  
  java.sql.SQLException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Error   establis  
  hing   socket.  
  at   com.microsoft.jdbc.base.BaseExceptions.createException(Unknown   Source  
  )  
  at   com.microsoft.jdbc.base.BaseExceptions.getException(Unknown   Source)  
  at   com.microsoft.jdbc.base.BaseExceptions.getException(Unknown   Source)  
  at   com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown   Source)  
   
  at   com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown   Sou  
  rce)  
  at   com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown   S  
  ource)  
  at   com.microsoft.jdbc.base.BaseConnection.open(Unknown   Source)  
  at   com.microsoft.jdbc.base.BaseDriver.connect(Unknown   Source)  
  at   java.sql.DriverManager.getConnection(DriverManager.java:523)  
  at   java.sql.DriverManager.getConnection(DriverManager.java:171)  
  at   DbTest.init(DbTest.java:32)  
  at   DbTest.<init>(DbTest.java:25)  
  at   DbTest.main(DbTest.java:46)  
  Press   any   key   to   continue...    
   
    出现上边错误的主要原因是默认的数据库服务器端口   1433没有打开,无法直接连接   。  
   
    如果升级到sp3则这个问题可以结决,我们再来看看升级之后,程序运行的结果  
   
  driver   is   ok  
  conection   is   ok  
  java.sql.SQLException:   [Microsoft][SQLServer   2000   Driver   for   JDBC][SQLServer]对  
  象名   room   无效。  
  at   com.microsoft.jdbc.base.BaseExceptions.createException(Unknown   Source  
  )  
  at   com.microsoft.jdbc.base.BaseExceptions.getException(Unknown   Source)  
  at   com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown  
  Source)  
  at   com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown  
  Source)  
  at   com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(  
  Unknown   Source)  
  at   com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown   Sour  
  ce)  
  at   com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType  
  (Unknown   Source)  
  at   com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown  
  Source)  
  at   com.microsoft.jdbc.base.BaseStatement.postImplExecu  
  te(Unknown   Source)  
   
  at   com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown   Source)  
  at   com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown   So  
  urce)  
  at   com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown   Source)  
  at   DbTest.init(DbTest.java:35)  
  at   DbTest.<init>(DbTest.java:25)  
  at   DbTest.main(DbTest.java:46)  
  Press   any   key   to   continue...    
   
    在这儿,用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于sa用户为系统用户,它虽然能够登陆数据库,但是storeManager数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户share   ,建立过程如下:在storeManager数据库中选重用户   ---〉新建用户   --   〉名称选择-〉建立新教色share   ,此时更改程序,将用户登陆名和密码修改一下,重新运行程序  
   
  driver   is   ok  
  conection   is   ok  
  1001  
  1002  
  1003  
  1004  
  1005  
  1006  
  Press   any   key   to   continue...    
   
    这次顺利通过测试  
   
  SQL   Server和jdbc   的融合问题,关键涉及到sp3补丁还有用户问题,解决这两个问题之后,剩余的便是sqlserver   操作问题了,还有一点在远程操作的时候,要把sqlserver   组设置一下,在安全性里边亦将身份验证更改为SQL   Server   验证即可。  
   
 


    摘要: c中的字符数组的内容 如何转换成cstring 类型 不胜感激 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE