1. 程式人生 > >菜鳥筆記:java呼叫sqlserver儲存過程

菜鳥筆記:java呼叫sqlserver儲存過程

首先建立一個儲存過程:

CREATE proc HR_PER_TARGET_SCORECHECK
@PLANID varchar(20), 
@Obj_A0100 varchar(20),
@Body_A0100 varchar(20),
@Allow varchar(20) output 
as 
  sql語句;
GO

之後再用java呼叫儲存過程

                                                                        CallableStatement cstmt = null; // 儲存過程
									try
									{
										
										String sqlCall = "{call HR_PER_TARGET_SCORECHECK (?,?,?,?)}";

										cstmt = this.frameconn.prepareCall(sqlCall);
										cstmt.setInt(1, Integer.parseInt(planid));// 第一個引數為計劃號
										cstmt.setString(2, object_id);// 第二個引數為考核物件人員編碼
										cstmt.setInt(3, Integer.parseInt(this.userView.getA0100()));// 第三個引數為評分人人員編碼
										
										cstmt.registerOutParameter(4, Types.VARCHAR);//設定第四個引數為輸出引數
										//執行儲存過程
										cstmt.execute();
										String Allow = cstmt.getString(4);
										if(Allow.equals("0")){
											info = Allow;
										}
										
									} catch (Exception e)
									{
										e.printStackTrace();
										
									} finally
									{
										try
										{
											if (cstmt != null)
												cstmt.close();
										} catch (Exception e)
										{
											e.printStackTrace();
										}
									}