ÕªÖÁSybase¹ÙÍø:
The caller( ) method calls the stored procedure inoutproc:
create proc inoutproc @id int, @newname varchar(50), @newhome Address,
@oldname varchar(50) output, @oldhome Address output as
select @oldname = name, @oldhome = home from xmp where id=@id
update xmp set name=@newname, home = @newhome where id=@id
This procedure has three input parameters (@id, @newname, and @newhome) and two output parameters (@oldname and @oldhome). caller( ) sets the name and home columns of the row of table xmp with the ID value of @id to the values @newname and @newhome, and returns the former values of those columns in the output parameters @oldname and @oldhome.
The inoutproc procedure illustrates how to supply input and output parameters in a JDBC call.
caller( ) executes the following call statement, which prepares the call statement:
CallableStatement cs = con.prepareCall("{call inoutproc (?, ?, ?, ?, ?)}");
All of the parameters of the call are specified as parameter markers (?).
caller( ) supplies values for the input parameters using JDBC setInt( ), setString( ), and setObject( ) methods that were used in the doSQL( ), updatAction( ), and selecter( ) methods:
cs.setInt(1, id);
cs.setString(2, newName);
cs.setObject(3, newHome);
These set methods are not suitable for the output parameters. Before executing the call statement, caller( ) specifies the datatypes expected of the output parameters using the JDBC registerOutParameter( ) method:
cs.registerOutParameter(4, java.sql.Types.VARCHAR);
cs.registerOutParameter(5, java.sql.Types.JAVA_OBJECT);
caller( ) then executes the call statement and obtains the output values using the same getString( ) and getObject( ) methods that the selecter( ) method used:
int res = cs.executeUpdate();
String oldName = cs.getString(4);
Address oldHome = (Address)cs.getObject(5);
ÉèÖÃÊä³öΪjava.sql.Types.JAVA_OBJECTÀàÐͺ󣬿ÉÒÔǿת³ÉÈ
Ôڳɹ¦ÊµÏÖJavaµ÷ÓÃC++Ö®ºó£¬½ÓÏÂÀ´Ïëµ½ÄÜ·ñͨ¹ýJNAʵÏÖJavaµ÷ÓÃFortran£¬½ñÌìÊÔÑéÁËһϣ¬»¹ÊDZȽÏÈÝÒ׵ġ£
ÍøÉÏÓÐÒ»¸öJavaµ÷ÓÃF95µÄÀý×Ó£¬µ«ÊÇÎÒ¿¼ÂDz»½öҪʵÏÖF95µÄµ÷Ó㬻¹ÒªÊµÏÖF77µÄµ÷Óã¬ËùÒÔ·ÑÁËһЩÖÜÕÛ¡£
ÎÊÌâµÄ¹Ø¼üÔÚÓÚF77Ϊ¹ý³ÌÃû×Ô¶¯Ìí¼ÓÁËÒ»¸öβ²¿µÄÏ»®Ïߣ¬ËùÒÔsub1Õâ¸ö¹ý³Ì£¬µ½JavaÒ»¶Ë£¬¾Í±ä³ÉÁËsub1_£¬ ......
ÕÐÉÌÏîÄ¿ÐèÒªÒý½øÒ»¸ö¹¤×÷Á÷£¬×î½üÔÚÍùÉϵ÷ÑпªÔ´µÄ¹¤×÷Á÷ÒýÇæ£¬×ܽá±È½ÏÁ÷ÐÐÒ»¹²ÓÐ3¸ö¡£
ÆäÖÐÒ»¸öÊÇosworkflow£¬µ«ÊÇÓÉÓںܳ¤Ê±¼ä²»ÔÙ¸üУ¬ËùÒÔÑ¡Ôñ·ÅÆú¡£ÁíÍâÒ»¸ö¾ÍÊÇjbmp4.3£¬¿ªÁ˺ܶàµÄ×ÊÁÏ»¹ÓÐÊÓÆµ£¬·¢ÏÖÆäÖкܶණÎ÷Àí½âÀ§ÄÑ£¬»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇËüµÄ³Ö¾Ã²ãÊÇhibernate×öµÄ£¬±¾ÏëÏÈǰÏëÓÃibatisµÄ¡£¹À¼ÆÒªÊÇÕæµÄÒý½ø¹ ......