Ismail Hamzah

.NET
See also: Other Geeks@INDC

Calling Sybase Stored Procedure From DAL

Memanggil stored procedure MS SQL dari DAL merupakan hal yang biasa dan banyak sekali dijumpai contoh-contohnya. Namun memanggil stored procedure Sybase cukup agak tricky, setidaknya untuk saya pribadi. Pada awalnya saya berfikir memanggil Stored Procedure pasti polanya sama aja untuk database manapun tapi ternyata tidak. Untuk lebih meresapi apa yang telah saya tulis diatas mari disimak potongan source code di bawah ini:

public void ADD(GAC_OFFICES_BO obj)

{

DbCommand cmd = DB.GetStoredProcCommand("{call SP_GAC_OFFICES_ADD(?, ?, ?, ?, ?, ?, ?, ?)}");

DB.AddInParameter(cmd, "OFFICE_CODE", DbType.String, obj.OFFICE_CODE);

DB.AddInParameter(cmd, "OFFICE_NAME", DbType.String, obj.OFFICE_NAME);

DB.AddInParameter(cmd, "MODE", DbType.String, obj.MODE);

DB.AddInParameter(cmd, "ACTIVE_FLAG", DbType.String, obj.ACTIVE_FLAG);

DB.AddInParameter(cmd, "CREATED_BY", DbType.String, obj.CREATED_BY);

DB.AddInParameter(cmd, "CREATED_DATE", DbType.DateTime, obj.CREATED_DATE);

DB.AddInParameter(cmd, "UPDATED_BY", DbType.String, obj.UPDATED_BY);

DB.AddInParameter(cmd, "UPDATED_DATE", DbType.DateTime, obj.UPDATED_DATE);

DB.ExecuteNonQuery(cmd);

}

Diatas adalah sebuah method yang berguna untuk menambahkan data ke database. Method tersebut memanggil sebuah stored procedure yang bernama SP_GAC_OFFICES_ADD dengan inputan parameter sebanyak delapan buah. Dapat dilihat, Stored Procedure dipanggil dengan cara menggunakan kurung kurawal, kata "call", nama Stored Procedure dan kemudian simbol tanda tanya. Banyak simbol tanda tanya yang digunakan adalah sejumlah parameter dari stored procedure yang bersangkutan.

Cara menambahkan parameter hanya memiliki sedikit perbedaan yaitu tidak digunakannya simbol "a keong (@)" didepan nama parameter.

buat saya, perbedaan ini telah membuat saya sedikit "headache" ketika membuat POC dan sebagai kenang-kenangan maka saya tuliskan di blog ini :-)

note:

Objek DB adalah objek dari kelas

Microsoft.Practices.EnterpriseLibrary.Data.Database 

Share this post: | | | |
Posted: Apr 30 2008, 09:23 AM by go2ismail | with 1 comment(s) |
Filed under:

Comments

mh.irfan said:

@go2ismail

Sip bos! utk infonya, ternyata begitu toh manggil Sybase stored procedures di DAL...btw ga apa2kan nt tulis ttg Sybase disini? tapi ga apa2lah kan masih pakai EntLib :) (ga pure Sybase)

# April 30, 2008 12:06 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 
Are you human?:  


Enter the numbers above: