Muncul pertanyaan baru yaitu bagaimana jika baris yang ditampilkan adalah 
sebanyak n baris mulai dari start? Misalnya tampilkan baris senyak 8 baris 
mulai dari baris ke-5 maka procedure proc_supp harus dimodifikasi. Karena 
pembahasannya agak panjang maka selengkapnya dapat dilihat tip SQL Server di 
www.power-it.co.id dengan memilih menu SQL, di sana dibahas secara detil, 
lengkap dengan contoh dan bagaimana jika terjadi error saat membuat procedure 
tersebut.

Rgrds,
Syahrial Chan

  ----- Original Message ----- 
  From: Syahrial Chan 
  To: [email protected] 
  Sent: Thursday, April 12, 2007 2:21 AM
  Subject: Re: [indopb] ambil data sesuai limit



  Cara lain adalah melakukan proses dengan PROCEDURE pada database biar 
jalannya lebih cepat seperti di bawah ini, misalnya untuk menggabil baris 5 s/d 
8 pada table supplier:

  1. Buat prosedur:

  CREATE PROC proc_supp (@start int, @end int)
  AS
  BEGIN 

     --Abil kode supplier sebagai WHERE CLAUSE data yang akan ditampilkan
     DECLARE @looping int, @row int
     DECLARE @sp_kode1 char(5),@sp_kode2 varchar(500),@command varchar(1000)
     
     DECLARE c_supp SCROLL CURSOR FOR
     SELECT sp_kode FROM supplier
     ORDER BY sp_kode

     SET @looping = 1
     SET @row = @end - @start + 1
     OPEN c_supp

     FETCH ABSOLUTE @start  FROM c_supp INTO @sp_kode1 
     SET @sp_kode2 = "'" + @sp_kode1 + "'," 
     WHILE @@FETCH_STATUS = 0
     BEGIN
     
        FETCH NEXT FROM c_supp INTO @sp_kode1 
        SET @looping = @looping + 1
        IF @looping > @row
           BREAK
        ELSE
           BEGIN
             SET @sp_kode2 = @sp_kode2 + "'" + @sp_kode1 + "'," 
              CONTINUE
              
           END

     END
     SET @sp_kode2 = left(@sp_kode2,len(@sp_kode2) - 1 )
     CLOSE c_supp
     DEALLOCATE c_supp
     
     --SELECT tabel supplier berd
     SET @command = 'SELECT * FROM supplier WHERE sp_kode IN (' + @sp_kode2 + 
')'
     EXEC (@command)

  END

  2. Buat DataWindow
  3. Test dengan preview DataWindow, ketikkan 5 pada start dan 8 pada end. 
Nilai ini sesuai dengan range row yang akan ditampilkan

  Selamat mencoba!


    ----- Original Message ----- 
    From: [EMAIL PROTECTED] 
    To: [email protected] 
    Sent: Wednesday, April 11, 2007 5:23 PM
    Subject: Re: [indopb] ambil data sesuai limit


    Hello...
    Sy bukan senior loh... :))
    Tp sy coba jawab...

    Coba kalo gini :
    1. Buat 1 group dengan definition :
    ceiling( getrow() /10)
    2. Pada dw_1.event retrieveend() ketikin syntax berikut :
    long i
    for i=1 to long(rowcount/10)
    //syntax dibawah disambung terus kesamping jadi satu baris, bukan kebawah...
    modify('create text(band=foreground alignment="2" text="'+string(i)+'" 
border="2"
    color="33554432" x="'+string(i*90)+'" y="1400" height="56" width="70"
    html.valueishtml="0" name=tpage_'+string(i)+' visible="1" font.face="Arial" 
    font.height="-8"
    font.weight="400" font.family="2" font.pitch="2" font.charset="0" 
background.mode="1"
    background.color="1073741824" pointer="HyperLink!" )')
    next
    3. Trus pada dw_1.event clicked() ketikin syntax berikut :
    if dwo.type='text' then dw_2.scrolltorow(long(dwo.text)*10)
    4. dw_1.retrieve() --->> dimana aja
    5. Jalankan aplikasi
    6. Cobain klik 1 2 3 4 ... -nya

    Kayak gitu bukan?
    Mudah²an membantu.. ;)

    Regards,

    Not the best, only a www.h4rd3st.com one...
    *yg ini gratisan loh... bukan promosi... :))

    ----- Original Message ----- 
    From: "Firman Setiawan" <[EMAIL PROTECTED]>
    To: <[email protected]>
    Sent: Wednesday, April 11, 2007 1:52 PM
    Subject: [indopb] ambil data sesuai limit

    > Dear Senior PB,
    >
    >
    >
    > langsung saja ni, masih mengenai data. Saya lg buat program tp user 
meminta agar data yg 
    > ditampilkan dalam datawindow misal 10 data tp tidak diambil semua 
(seperti google ada 1,2,3,4,5, 
    > ...) jadi bila kita pilih angka 2 maka yg keluar adalah data 11 sampai 
20. Nah situ yg saya 
    > bingung karena di sql server 2000 tidak ada limit. Bagaimana solusi yg 
dpt saya ambil. terima 
    > kasih atas bantuan n masukan Senior PB.




   

Kirim email ke