tbwshc

2013年10月24日 #

Java调用SQL Server的存储过程详解

1使用不带参数的存储过程

  1

  {call procedure-name}

  作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程:

  CREATE PROCEDURE GetContactFormalNames

  AS BEGIN SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName

  FROM Person.Contact END

  此存储过程返回单个结果集,其中包含一列数据(由 Person.Contact 表中前十个联系人的称呼、名称和姓氏组成)。

  在下面的实例中,将向此函数传递 AdventureWorks 示例tb数据库的打开连接,然后使用 executeQuery 方法调用 GetContactFormalNames 存储过程。

  public static void executeSprocNoParams(Connection con)

  …{

  try …{

  Statement stmt = con.createStatement();

  ResultSet rs = stmt.executeQuery("{call dbo.GetContactFormalNames}");

  while (rs.next())

  …{

  System.out.println(rs.getString("FormalName"));

  }

  rs.close();

  stmt.close();

  }

  catch (Exception e)

  …{

  e.printStackTrace();

  }

  }

  2使用带有输入参数的存储过程

  使用 JDBC 驱动程序调用带参数的存储过程时,必须结合 SQLServerConnection 类的 prepareCall 方法使用 call SQL 转义序列。带有 IN 参数的 call 转义序列的语法如下所示:

  {call procedure-name[([parameter][,[parameter]]…)]}http://jie.baijiale.94ibc.com

  构造 call 转义序列时,请使用 ?(问号)字符来指定 IN 参数。此字符充当要传递给该存储过程的参数值的占位符。可以使用 SQLServerPreparedStatement 类的 setter 方法之一为参数指定值。可使用的 setter 方法由 IN 参数的数据类型决定。

  向 setter 方法传递值时,不仅需要指定要在参数中使用的实际值,还必须指定参数在存储过程中的序数位置。例如,如果存储过程包含单个 IN 参数,则其序数值为 1.如果存储过程包含两个参数,则第一个序数值为 1,第二个序数值为 2.

  作为如何调用包含 IN 参数的存储过程的实例,使用 SQL Server 2005 AdventureWorks 示例数据库中的 uspGetEmployeeManagers 存储过程。此存储过程接受名为 EmployeeID 的单个输入参数

posted @ 2013-10-24 17:05 chen11-1 阅读(608) | 评论 (0)编辑 收藏

Java中生成文件的10项建议

1. 记住 - "越少越好"并非总是如此(Keep in Mind – "Less is more" is not always better)。 – 高效率的代码是件好事,但很多情况下,并非代码行数越少效率就越高

  2. 不要把简单事情复杂化(Do not complicate things)。 – 我曾经这么做过,我相信你也一样。开发者都倾向于采用复杂方式解决简单问题。我们在一个只有5个用户的系统中引入EJB,为一个并不需要框架的应用实现一套框架,采用属性文件、采用面向tb对象解决方案、使用线程,而这些根本用不着。为什么会这么做?一些人可能不知道有更好的解决方案,但另一些人可能故意这样做来学习新知识,或仅仅是因为有趣。对那些不知道更好解决方案的人,要多听有经验程序员的建议。对于那些纯粹出于个人目的而将设计复杂化的人,我建议你要更加专业一点。
  3. 不要"硬编码"(No hard coding please)。 – 由于时间紧迫,开发者总是会忘记或故意忽略这一条。然而另一种可能是,遵循这条戒律,我们就不会陷入"时间紧迫"的困境。定义一个static final 变量,增加一行代码,又能花多长时间呢?

  4. 为代码添加注释(Add comments to your code)。 – 每个人都知道这一点,但不是每个人都会这么做。你有多少次"忘记"添加注释了?确实,注释不会为你的程序增加任何函数功能。但是,有多少次,看到2周前写的代码,你都记不起它是干什么的?你很幸运,那些未注释的代码是你自己写的,你脑海中还会有残存的印象。非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:"有来有往,互惠互利",因此程序员应该体谅彼此(还有你自己),给你的代码加上注释。

 

posted @ 2013-10-24 17:04 chen11-1 阅读(305) | 评论 (0)编辑 收藏

针对Java Excel API及详细教程

时在java开发中会操作excel表格,其实操作起来也特别简单。这里把前期操作步骤说一下,本文会简单的介绍一个开放源码项目:Java Excel Api,使用它大家就可以方便的操作Excel文件了。

  首先下载好:Java Excel Api,这个文件我已经和 JAVA+Excel+API详细教程。pdf一并压缩上传了,感兴趣的朋友可以下载!

  我这里用的开发平台是Eclipse,这里我把操作简单说一下:

  1, 建,立java项目,在这个项目在建立一个新的文件夹lib;

  2, 将jxl.jar,即Java Excel Ap,复制到lib

  3,然后右键点击这个java项目,tb选择Propertieshttp://jie.baijiale.ibc198.com

  4,在左侧列表里选中Java Build Path ,右侧选中Libraries

  5,点击Add JARs

  6, 然后去选择这个项目中lib文件夹中的jxl.jar,点击确定

  成功后,项目中会多一个文件夹为:Referenced Libraries

  准备工作完成后,就可以去操作excel了,

posted @ 2013-10-24 17:02 chen11-1 阅读(268) | 评论 (0)编辑 收藏