易截截图软件、单文件、免安装、纯绿色、仅160KB

JDBC调用Sql server 2005 存储过程出现的问题

环境:JDK1.5
数据库:Sql server 2005 +sp2
JDBC驱动:sqljdbc.jar
测试类代码如下:
import java.sql.*;
public class test {
 /**
  * @param args
  * @throws SQLException
  * @throws ClassNotFoundException
  */
 public static void main(String[] args) throws SQLException, ClassNotFoundException {
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  Connection con = DriverManager.getConnection("jdbc:sqlserver://192.168.1.168:1433;SelectMethod=cursor;DatabaseName=DBName", "sa", "sa");
  
  //PreparedStatement ps = con.prepareCall("exec Proc_checkPDDateTime '00','00'");  --使用PreparedStatement也可以
  CallableStatement ps = con.prepareCall("{call dbo.Proc_checkPDDateTime('1602327','20100526162514')}");
  
  //{第一种方式}  两种方式调用存储过程的返回值都可以
//  ResultSet rs= ps.executeQuery();
//  if(rs.next()){
//   System.out.println("--"+rs.getString(1)+"--");
//  }
  
  //{第二种方式}
  if(ps.execute()){  --如果ps执行后返回的是ResultSet,那么ps.execute返回True ,且必须要通过ps.getResultSet()方法获得结果集
   if(ps.getResultSet().next()){
    System.out.println("--"+ps.getResultSet().getString(1)+"--");
   }
  }
 }
}
运行时,提示如下错误:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: 无法在给定的语句中打开服务器游标。请使用默认结果集或客户端游标。
 at com.microsoft.sqlserver.jdbc.SQLServerException.makefromDatabaseError(Unknown Source)
 at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecute(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerPrepa


相关文档:

Qt数据库(四)利用QSqlQuery类执行SQL语句(二)


本文章原创于www.yafeilinux.com 转载请注明出处。
接着上一篇教程。
二,在SQL语句中使用变量。
我们先看下面的一个例子,将“查询”按钮的槽函数更改如下:
void Widget::on_pushButton_clicked()
{
    QSqlQuery query;
    query.prepare(“insert i ......

sql小笔记(5.26)

sql server 2005 简单运用函数
1.null 函数
  用法与oracle中nvl()类似,处理函数为isnull(),
  例如:
    select ename,sal+isnull(comm,0)
    from emp
    go
  isnull(comm,0)的用法是: comm为null 则返回0 否则为 comm的值。
2.V ......

Interbase/Firebird的SQL语法(收藏)


一、分页写法小例:
SELECT FIRST 10 templateid,code,name from template ;
SELECT FIRST 10 SKIP 10 templateid,code,name from template ;
SELECT * from shop ROWS 1 TO 10;   –firebird2.0支持这种写法
 
二、显示表名和表结构
SHOW TABLES;
SHOW TABLE tablename;
四、更新字段注释
......

sql之left join、right join、inner join的区别


sql之left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
举例如下:
-------------------------------------------- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号