-->

20 November 2012

Database Explorer Sistem Dengan Coldfusion


Hei Mas Bro,
Ketemu lagi nich....
Disini aku mau bagi-bagi ilmu, tentang bagaimana caranya membuat SQL Editor Database lengkap dengan struktur tablenya berbasis web menggunakan bahasa pemrograman Coldfusion,
Mungkin saya pernah juga merilis tulisan ini Membuat Query Editor Berbasis Web Dengan Coldfusion,
tapi disini beda mas bro, disini saya menambahkan beberapa fitur lainnya, mungkin mas bro bisa lihat dari gambar dibawah ini

 Tampilan Halaman Login

Halaman Utama

Tampilan Struktur Table & SQL Editor

Hasil Data Dari Query Yang Telah Dijalankan

Link Download : Database Explorer Sistem

Setelah Mas Bro download file diatas, mas bro langsung extrak saja ke dalam folder direktori "wwwroot" coldfusion,
Lalu tinggal di jalankan deh mas bro,
misalkan : http://localhost:8500/DatabaseExplorerSistem/

Hanya ada satu kata yang bisa saya ucapkan,

Selamat Mencoba & Rasakan Hasilnya Mas Bro :)

Membuat Tombol Unik Dengan CSS


Hey Mas Bro,
Ketemu lagi nich....
Disini aku mau bagi-bagi ilmu, tentang bagaimana caranya membuat Tombol dengan gaya unik di HTML menggunakan CSS.

Ini nich ada beberapa Contoh Tombol unik yang bisa mas bro pake :

Tombol 1 :
CSS :
<style type="text/css">
.styled-tombol-1 {
-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
color:#333;
background-color:#FA2;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border:none;
font-family:'Helvetica Neue',Arial,sans-serif;
font-size:16px;
font-weight:700;
height:32px;
padding:4px 16px;
text-shadow:#FE6 0 1px 0
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-1" value="Download" />

Contoh Tombolnya :


Tombol 2 :
CSS :
<style type="text/css">
.styled-tombol-2 {
-webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
-moz-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
border-bottom-color:#333;
border:1px solid #61c4ea;
background-color:#7cceee;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
color:#333;
font-family:'Verdana',Arial,sans-serif;
font-size:14px;
text-shadow:#b2e2f5 0 1px 0;
padding:5px
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-2" value="Download" />

Contoh Tombolnya :


Tombol 3 :
CSS :
<style type="text/css">
.styled-tombol-3 {
-webkit-box-shadow:rgba(0,0,0,0.0.1) 0 1px 0 0;
-moz-box-shadow:rgba(0,0,0,0.0.1) 0 1px 0 0;
box-shadow:rgba(0,0,0,0.0.1) 0 1px 0 0;
background-color:#5B74A8;
border:1px solid #29447E;
font-family:'Lucida Grande',Tahoma,Verdana,Arial,sans-serif;
font-size:12px;
font-weight:700;
padding:2px 6px;
height:28px;
color:#fff;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-3" value="Download" />

Contoh Tombolnya :


Tombol 4 :
CSS :
<style type="text/css">
.styled-tombol-4 {
-webkit-box-shadow:rgba(0,0,0,0.98) 0 1px 0 0;
-moz-box-shadow:rgba(0,0,0,0.98) 0 1px 0 0;
box-shadow:rgba(0,0,0,0.98) 0 1px 0 0;
background-color:#EEE;
border-radius:0;
-webkit-border-radius:0;
-moz-border-radius:0;
border:1px solid #999;
color:#666;
font-family:'Lucida Grande',Tahoma,Verdana,Arial,Sans-serif;
font-size:11px;
font-weight:700;
padding:2px 6px;
height:28px
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-4" value="Download" />

Contoh Tombolnya :



Tombol 5 :
CSS :
<style type="text/css">
.styled-tombol-5 {
background-color:#ed8223;
color:#fff;
font-family:'Helvetica Neue',sans-serif;
font-size:18px;
line-height:30px;
border-radius:20px;
-webkit-border-radius:20px;
-moz-border-radius:20px;
border:0;
text-shadow:#C17C3A 0 -1px 0;
width:120px;
height:32px
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-5" value="Download" />

Contoh Tombolnya :


Tombol 6 :
CSS :
<style type="text/css">
.styled-tombol-6 {
background:#f78096;
background:-moz-linear-gradient(top,#f78096 0%,#f56778 100%);
background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f78096),color-stop(100%,#f56778));
background:-webkit-linear-gradient(top,#f78096 0%,#f56778 100%);
background:-o-linear-gradient(top,#f78096 0%,#f56778 100%);
background:-ms-linear-gradient(top,#f78096 0%,#f56778 100%);
background:linear-gradient(top,#f78096 0%,#f56778 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f78096',endColorstr='#f78096',GradientType=0);
padding:5px 4px;
color:#fff;
font-family:'Helvetica Neue',sans-serif;
font-size:12px;
border-radius:4px;
-moz-border-radius:4px;
-webkit-border-radius:4px;
border:1px solid #ae4553
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-6" value="Download" />

Contoh Tombolnya :


Tombol 7 :
CSS :
<style type="text/css">
.styled-tombol-7 {
background:#FF5DB1;
background:-moz-linear-gradient(top,#FF5DB1 0%,#E94A86 100%);
background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#FF5DB1),color-stop(100%,#E94A86));
background:-webkit-linear-gradient(top,#FF5DB1 0%,#E94A86 100%);
background:-o-linear-gradient(top,#FF5DB1 0%,#E94A86 100%);
background:-ms-linear-gradient(top,#FF5DB1 0%,#E94A86 100%);
background:linear-gradient(top,#FF5DB1 0%,#E94A86 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5DB1',endColorstr='#E94A86',GradientType=0);
padding:5px 7px;
color:#fff;
font-family:'Helvetica Neue',sans-serif;
font-size:12px;
border-radius:4px;
-moz-border-radius:4px;
-webkit-border-radius:4px;
border:1px solid #E8124F
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-7" value="Download" />

Contoh Tombolnya :


Tombol 8 :
CSS :
<style type="text/css">
.styled-tombol-8 {
background:#25A6E1;
background:-moz-linear-gradient(top,#25A6E1 0%,#188BC0 100%);
background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#25A6E1),color-stop(100%,#188BC0));
background:-webkit-linear-gradient(top,#25A6E1 0%,#188BC0 100%);
background:-o-linear-gradient(top,#25A6E1 0%,#188BC0 100%);
background:-ms-linear-gradient(top,#25A6E1 0%,#188BC0 100%);
background:linear-gradient(top,#25A6E1 0%,#188BC0 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#25A6E1',endColorstr='#188BC0',GradientType=0);
padding:8px 13px;
color:#fff;
font-family:'Helvetica Neue',sans-serif;
font-size:17px;
border-radius:4px;
-moz-border-radius:4px;
-webkit-border-radius:4px;
border:1px solid #1A87B9
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-8" value="Download" />

Contoh Tombolnya :


Tombol 9 :
CSS :
<style type="text/css">
.styled-tombol-9 {
background:#00A0D1;
background:-moz-linear-gradient(top,#00A0D1 0%,#008DB8 100%);
background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#00A0D1),color-stop(100%,#008DB8));
background:-webkit-linear-gradient(top,#00A0D1 0%,#008DB8 100%);
background:-o-linear-gradient(top,#00A0D1 0%,#008DB8 100%);
background:-ms-linear-gradient(top,#00A0D1 0%,#008DB8 100%);
background:linear-gradient(top,#00A0D1 0%,#008DB8 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A0D1',endColorstr='#008DB8',GradientType=0);
padding:8px 20px;
color:#cfebf3;
font-family:'Helvetica Neue',sans-serif;
font-size:13px;
border-radius:40px;
-moz-border-radius:40px;
-webkit-border-radius:40px;
border:1px solid #095B7E
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-9" value="Download" />

Contoh Tombolnya :


Tombol 10 :
CSS :
<style type="text/css">
.styled-tombol-10 {
background:#5CCD00;
background:-moz-linear-gradient(top,#5CCD00 0%,#4AA400 100%);
background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#5CCD00),color-stop(100%,#4AA400));
background:-webkit-linear-gradient(top,#5CCD00 0%,#4AA400 100%);
background:-o-linear-gradient(top,#5CCD00 0%,#4AA400 100%);
background:-ms-linear-gradient(top,#5CCD00 0%,#4AA400 100%);
background:linear-gradient(top,#5CCD00 0%,#4AA400 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5CCD00',endColorstr='#4AA400',GradientType=0);
padding:10px 15px;
color:#fff;
font-family:'Helvetica Neue',sans-serif;
font-size:16px;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border:1px solid #459A00
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-10" value="Download" />

Contoh Tombolnya :


Tombol 11 :
CSS :
<style type="text/css">
.styled-tombol-11 {
background:#FEDA71;
background:-moz-linear-gradient(top,#FEDA71 0%,#FEBB49 100%);
background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#FEDA71),color-stop(100%,#FEBB49));
background:-webkit-linear-gradient(top,#FEDA71 0%,#FEBB49 100%);
background:-o-linear-gradient(top,#FEDA71 0%,#FEBB49 100%);
background:-ms-linear-gradient(top,#FEDA71 0%,#FEBB49 100%);
background:linear-gradient(top,#FEDA71 0%,#FEBB49 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FEDA71',endColorstr='#FEBB49',GradientType=0);
padding:8px 18px;
color:#623F1D;
font-family:'Helvetica Neue',sans-serif;
font-size:16px;
border-radius:48px;
-moz-border-radius:48px;
-webkit-border-radius:48px;
border:1px solid #623F1D
}
</style>

Cara Mengunakannya menggunakan "Class" di tombol HTML:
<input type="submit" class="styled-tombol-11" value="Download" />

Contoh Tombolnya :




dfasd

13 November 2012

Update Data Dari 2 Table Yang Berbeda Di SQL SERVER


Hey Mas Bro, ketemu lagi nich....
Mas Bro, aku mau bagi-bagi pengetahuan nich, tentang bagaimana caranya mengupdate data dari 2 Table yang berbeda.

Begini...nich caranya :


UPDATE dbo.[Tabel Tujuan]
SET [Field Table Tujuan] = dbo.[Table Sumber].[Field Table Sumber]
FROM dbo.[Table Sumber]
WHERE dbo[Tabel Tujuan].[Field Kunci Tujuan]=dbo.[Table Sumber].[Field Kunci Sumber] 


Contohnya dari penerapan Query Diatas adalah :


UPDATE dbo.DT_SO
SET TOTAL_PENGELUARAN=dbo.DT_TRANSAKSI.TOTAL_PENGELUARAN
FROM dbo.DT_TRANSAKSI

atau


UPDATE dbo.DT_SO
SET TOTAL_PENGELUARAN=dbo.DT_TRANSAKSI.TOTAL_PENGELUARAN
,PENGHASILAN_KONSUMEN = dbo.DT_TRANSAKSI.PENGHASILAN_KONSUMEN
FROM dbo.DT_TRANSAKSI

atau


UPDATE dbo.DT_SO
SET TOTAL_PENGELUARAN=dbo.DT_TRANSAKSI.TOTAL_PENGELUARAN
,PENGHASILAN_KONSUMEN = dbo.DT_TRANSAKSI.PENGHASILAN_KONSUMEN
FROM dbo.DT_TRANSAKSI
WHERE dbo.DT_SO.ID_SO=dbo.DT_TRANSAKSI.ID_SO


Untuk Mengetahui Hasilnya Silahkan Dicoba y Mas Bro.


Selamat Mencoba Mas Bro :)







12 November 2012

Delete Log Database di SQL Server


Ciank mas bro,
Mas Bro, aku mau bagi-bagi pengetahuan nich, tentang bagaimana caranya menghapus Log Database di SQL server,

Soalnya terkadang Log Database yang kita punya, bisa lebih besar berkali-kali lipat dari Data masternya,
jadi kalau kita tidak menghapus log datanya, maka lognya bisa ngebengkak mas bro.

Misalkan Database "dbDepkes.mdf" saya besarnya hanya 1 GB, tapi setelah saya lihat Log Databasenya "dbDepkes_log.ldf" besarnya bisa mencapai 476 GB.
Jadi Kalau begini caranya Hardisk Ane bisa langsung Abis nich mas bro....

Gini Nich cara menghapus Log Database SQL Server mas bro,

Langkah 1 :

* Mas Bro Buka SQL Server Management Studio Mas Bro,
* Lalu mas bro Klik Kanan Pada database yang dipilih.
* Lalu Pilih Task
* Lalu Pilih Detach

Lihat Gambar Dibawah ini


* Jika Ada Koneksi yag sedang aktif, Checklist Drop Connection, lalu tekan Ok Untuk Menutup Database yang sedang aktif

Langkah 2 :
Masuk Ke lokasi Folder Database yang ada di komputer mas bro,
Misalkan Ada di "D:\Data\Database", Lalu Rename File "dbDepkes_log.ldf" menjadi "dbDepkes_log_lama.ldf".

Langkah 3 :
Pada SQL Server Management Studio, Mas Bro Klik Kanan, Lalu Pilih Attach.



Setelah Itu Ikuti mas bro Klik tombol "Add",
Lalu Pilih Database yang yang mas bro mau, misalkan database "dbDepkes.mdf", Lalu Tekan OK



Lalu mas bro Klik pada File "dbDepkes.LDF" atau pada File Type yang tipenya adalah Log, Setelah mas bro klik, Lalu Tekan Tombol Remove.



Setelah Log Databasenya di hapus / remove sama mas bro, maka SQL Server akan secara otomatis membuat Log database baru setelah mas bro, menekan tombol OK.

Langkah 4 :
Setelah itu mas bro masuk ke lokasi Folder Database berada, lalu mas bro hapus Log database yang tadi sudah kita rubah namanya "dbDepkes_log_lama.ldf".

Nah Gitu dech mas bro, cara untuk menghapus data Log yang ada dan menggantinya dengan Data Log baru.

Selamat Mencoba Mas Bro :)

01 November 2012

Membuat Nilai Terbilang (Mata Uang Rupiah) Di SQL SERVER


Mas Bro, aku punya sedikit bocoran ni, bagaimana caranya membuat Nilai terbilang mata uang rupiah di SQL SERVER,

Gini....ni..cara ngebuatnya mas bro :)

Langkah Pertama :
Buka SQL SERVER Editor, lalu Copy Paste Script dibawah ini mas bro


CREATE FUNCTION [DBO].[TerbilangDetil] (@Nilai as decimal)
RETURNS varchar(200) AS
BEGIN
declare @TS varchar(200), @ST varchar(200), @S integer, @p integer, @r1 integer, @Bil varchar(200), @TP varchar(200), @hasil varchar(200)
    set @ST = Right(rTrim(Str(@Nilai + 1000)), 3)
    set @S = cast(Right(@ST, 1) as integer)
    set @p = cast(substring(@ST, 2, 1) as integer)
    set @r1 = cast(Left(@ST, 1) as integer)
    set @Bil = 'Satu    Dua     Tiga    Empat   Lima    '
    set @Bil = @Bil + 'Enam    Tujuh   Delapan Sembilan'
 
    If @S = 0
        set @TS = ''
    Else
        set @TS = rTrim(substring(@Bil, @S * 8 - 7, 8)) + ' '
     
    If @p = 0
        set @TP = @TS
    Else
        If @p = 1
            If @S = 0
                set @TP = 'Sepuluh '
            Else
                If @S = 1
                    set @TP = 'Sebelas '
                Else
                    set @TP = rTrim(substring(@Bil, @S * 8 - 7, 8)) + ' Belas '
        Else
            set @TP = rTrim(substring(@Bil, @p * 8 - 7, 8)) + ' Puluh ' + @TS
     
    If @r1 = 0
        set @hasil = @TP
    Else
        If @r1 = 1
            set @hasil = 'Seratus ' + @TP
        Else
            set @hasil = rTrim(substring(@Bil, @r1 * 8 - 7, 8)) + ' Ratus ' + @TP
return @hasil
END

Lalu Jalankan Script Diatas dengan menekan F5 atau !
Setelah Itu, Copy Paste lagi Script dibawah ini mas bro


CREATE FUNCTION [dbo].[FungsiTerbilang] (@angka as decimal(19,2))
RETURNS varchar (200) AS
BEGIN
Declare @b Decimal, @r Decimal, @J Decimal, @M Decimal, @T1 Decimal, @koma1 Decimal, @koma2 Integer, @hasil varchar(200)
Declare @s_t varchar(200), @ribu varchar(200), @Juta varchar(200), @Miliar varchar(200), @tx varchar(200), @angka1 varchar(200), @tx1 varchar(200)
set @s_t = case when Len(rTrim(cast(cast(@Angka as bigint) as varchar(20)))) < 15
        then replicate('0',15 - Len(rTrim(cast(cast(@Angka as bigint) as varchar(20))))) + rTrim(cast(cast(@Angka as bigint) as varchar(20)))
        else rTrim(cast(cast(@Angka as bigint) as varchar(20)))
         end
set @r = cast(Right(@s_t, 3) as integer)
set @b = cast(substring(@s_t, 10, 3)  as integer)
set @J = cast(substring(@s_t, 7, 3)  as integer)
set @M = cast(substring(@s_t, 4, 3)  as integer)
set @T1 = cast(Left(@s_t, 3)  as integer)
set @ribu = case when @b = 0 then ' ' else case when @b = 1 then 'Seribu' else [dbo].TerbilangDetil(@b) + 'Ribu' end end
set @Juta = case when @J = 0 then ' ' else [dbo].TerbilangDetil(@J) + 'Juta ' end
set @Miliar = case when @M = 0 then ' ' else [dbo].TerbilangDetil(@M) + 'Miliar' end
set @tx = Case
    when @Angka < 1000 -- Ratusan
                then [dbo].TerbilangDetil(@r)
        when @Angka < 1000000 -- Ribuan
                then @ribu + ' ' + [dbo].TerbilangDetil(@r)
        when @Angka < 1000000000 -- Jutaan
                then [dbo].TerbilangDetil(@J) + '' + rTrim('Juta ' + @ribu) + ' ' + [dbo].TerbilangDetil(@r)
    when @Angka < 1000000000000 -- Miliaran
                then [dbo].TerbilangDetil(@M) + '' + rTrim('Miliar ' + @Juta + @ribu) + ' ' + [dbo].TerbilangDetil(@r)
        when @Angka >= 1000000000000 -- Trilliun
                then [dbo].TerbilangDetil(@T1) + '' + rTrim('Trilliun ' + @Miliar + @Juta + @ribu) + ' ' + [dbo].TerbilangDetil(@r)
End
set @angka1 = rTrim(cast(@Angka as varchar(20)))
set @koma1 = case when charindex('.', @angka1) = 0 then 0 else cast(rTrim(substring(@angka1, charindex('.',@angka1) + 1, 2)) as integer) end
set @koma2 = Len(case when charindex('.',@angka1) = 0 then '0' else rTrim(substring(@angka1, charindex('.',@angka1) + 1, 2)) end)
If @koma1 > 0
begin
    If @koma1 < 10 And @koma2 = 1
    set @koma1 = @koma1 * 10
    set @tx1 = [dbo].TerbilangDetil(@koma1)  
    set @hasil = @tx + 'koma ' + @tx1 + 'Rupiah'
end
Else
    set @hasil = @tx + 'Rupiah'
return (@hasil)
END

Lalu Jalankan Script Diatas dengan menekan F5 atau !

Langkah Kedua :
Untuk mengetestnya, mas bro bisa mebuat Query seperti dibawah ini

Query :
select dbo.FungsiTerbilang('9750.35')

Hasil :
Sembilan Ribu Tujuh Ratus Lima Puluh koma Tiga Puluh Lima Rupiah


Selamat Mencoba Mas Bro :)

25 Oktober 2012

Backup Database Ke Dalam File Zip Dengan Coldfusion


Disini saya hanya ingin berbagi ilmu bagaimana cara membuat Backup Database kedalam Zip File dengan Bahasa Pemrograman Coldfusion,

Langkah Pertama :
Masukkan Source Code Dibawah ini kedalam editor yang mas bro punya.

<!---
 Back up a database to a zip file.

 @param dbsource      DNS. (Required)
 @return Returns a string. 
 @author Darwan Leonardo Sitepu (dlns2001@yahoo.com) 
 @version 1, February 21, 2011 
--->
<cffunction name="backupDatabase" returnType="string" output="false">
    <cfargument name="dbsource" type="string" required="true">
    <cftry>
        <cfdbinfo datasource="#arguments.dbsource#" name="tables" type="tables" />
        <cfsilent>
            <cfset data = StructNew() />
            <cfloop query="tables">  <!--- grab all data from table --->  
                <cftry>
                    <cfset data[Table_Name] = StructNew() />  
                    <cfdbinfo datasource="#arguments.dbsource#" table="#Table_Name#" name="qryTableFields" type="columns" />  
                    <cfset data[Table_Name].schema = qryTableFields />  
                    <cfquery name="getData" datasource="#arguments.dbsource#" debug="no" cachedwithin=#CreateTimeSpan(0,0,0,10)# >SELECT * FROM [#Table_Name#]</cfquery>    
                    <cfset data[Table_Name].data = getData />            
                <cfcatch></cfcatch>
                </cftry>
            </cfloop><!--- Now serialize into one ginormous string --->
        </cfsilent>
        <cfwddx action="cfml2wddx" input="#data#" output="packet" /><!--- file to store zip --->
        <cfset zfile = expandPath("./data.zip") /><!--- Now zip this baby up --->
        <cfzip action="zip" file="#zfile#" overwrite="true"><cfzipparam content="#packet#" entrypath="data.packet.xml" /></cfzip>
        <cfreturn "I retrieved #tables.recordCount# tables from datasource #datasource# and saved it to #zfile#.">
    <cfcatch>
        <cfreturn "Backup Database Is Failed..">
    </cfcatch>
    </cftry>
</cffunction>

Lalu Simpan Source Code ini dengan nama file yang berakhiran ".cfm" misalkan "BackupDatabase.cfm" kedalam direktori wwwroot Coldfusion yang sudah terinstal.

Langkah Kedua :
Masukkan Source Code Dibawah ini kedalam editor yang mas bro punya (Masih didalam file "BackupDatabase.cfm").

<cfoutput>
<cfsetting showdebugoutput="no">
#BackupDatabase("darwanlns.com")#
</cfoutput>

Keterangan :
darwanlns.com = Nama Datasource yang sudah dibuat di Coldfusion

Langkah Ketiga :
Untuk Menjalankan Source code yang sudah mas bro punya, mas bro ketikkan saja alamat di browser mas bro misalkan.

http://localhost:8500/BackupDatabase.cfm


Contoh Filenya bisa di download disini Backup Database


Selamat Mencoba Mas Bro :)

24 Oktober 2012

Membuat Query Editor Berbasis Web Dengan Coldfusion


Mungkin mas bro, sudah sering melihat pembuatan Query Editor berbasis Web, :)

Disini saya hanya ingin berbagi ilmu bagaimana cara membuat Query Editor Berbasis Web dengan Bahasa Pemrograman Coldfusion,

Langkah Pertama :
Masukkan Source Code Dibawah ini kedalam editor yang mas bro punya.

<cfoutput>
<cfscript>
ServiceFactory = CreateObject("java", "coldfusion.server.ServiceFactory");
</cfscript>
<title>SQL Runner / Coldfusion Version #ServiceFactory.LicenseService.getMajorVersion()#</title>
<cfparam name="convert_TO_Excell" default="NO">
<CFPARAM Name="Sort" Default="Entry">
<cftry>
<CFOBJECT ACTION="CREATE"
TYPE="JAVA"
CLASS="coldfusion.server.ServiceFactory"
NAME="factory">

<cfscript>
dsService=factory.getDataSourceService();
dsFull=dsService.getDatasources();
dsNames=StructKeyArray(dsFull);
DS_List=QueryNew("Entry,Value");
</cfscript>
<cfset tmp=arraysort(dsNames,"textnocase")>
<CFLOOP INDEX="i" FROM="1" TO="#ArrayLen(dsNames)#">
<cfset tmp="dsFull.#dsNames[i]#.driver">
<cfset mydriver=evaluate(tmp)>
<cfif listfindnocase("MSSQLServer",mydriver) or listfindnocase("Oracle",mydriver) or listfindnocase("ODBCSocket",mydriver)>
<cfset tmp=QueryAddRow(DS_List)>
<cfset tmp=QuerySetCell(DS_List,"Entry",dsNames[i])>
<cfif mydriver eq 'ODBCSocket'>
<cfset tmp=QuerySetCell(DS_List,"Value","ODBCSocket")>
<cfelse>
<cfset tmp=QuerySetCell(DS_List,"Value",mydriver)>
</cfif>
</cfif>
</CFLOOP>
<cfcatch>
<CFREGISTRY ACTION=GETALL NAME="DS_List" TYPE="ANY" SORT="#Sort#" BRANCH="HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources">
</cfcatch>
</cftry>
<cfset DSList = valuelist(DS_LIST.Entry)>
<cfset DSDriver = valuelist(DS_LIST.Value)>
<cfscript>
function getDSNs() {
var factory = createObject("java","coldfusion.server.ServiceFactory");
return factory.getDataSourceService().getNames();
}

function dumpVarList(variable) {
    var delim="#Chr(13)##Chr(10)#";
    var var2dump=arguments.variable;
    var label = "";
    var newdump="";
    var keyName="";
    var loopcount=0;
 
    if(arrayLen(arguments) gte 2) delim=arguments[2];
    if(arrayLen(arguments) gte 3) label=arguments[3];
 
    // THE VARIABLE IS A SIMPLE VALUE, SO OUTPUT IT
    if(isStruct(var2dump)) {
   
        for(keyName in var2dump) {
            if(isSimpleValue(var2dump[keyName])) {
if (keyname contains "DRIVER")writeOutput(var2dump[keyName]);              
            }
        }
    }      
    return;
}
</cfscript>
<cfform name="frmSQL" action="#CGI.Script_Name#?#CGI.Query_String#" method="post" preservedata="true">
<table width="100%">
<cfinput type="hidden" name="convert_TO_Excell" value="#convert_TO_Excell#">
<tr>
<td>Select DataSource</td>
<td>&nbsp;:&nbsp;</td>
<td>
<cfparam name="reqsess_dsn" default="">
<cfselect name="reqsess_dsn">
<cfloop array=#getDSNs()# index="name">
<option value="#name#" <cfif reqsess_dsn Eq name>selected</cfif>>#name#<!--- &nbsp;[#dumpVarList(getdsn(name))#]--->
</cfloop>
</cfselect>
</td>
</tr>
<tr>
<td>View Output By</td>
<td>&nbsp;:&nbsp;</td>
<td>
<cfparam name="view_output" default="applet">
<cfselect name="view_output">
<option value="table" title="Semua Browser Support (KONEKSI CEPAT)" <cfif view_output Eq "table">selected</cfif>>Table
<cfif val(ServiceFactory.LicenseService.getMajorVersion()) GT 7>
<option value="applet" title="Browser Harus Support Dengan Java (KONEKSI CEPAT)" <cfif view_output Eq "applet">selected</cfif>>Applet
<option value="flash" title="Browser Harus Support Dengan Flash (KONEKSI SEDANG)" <cfif view_output Eq "flash">selected</cfif>>Flash
<option value="html" title="Semua Browser Support (KONEKSI SEDANG)" <cfif view_output Eq "html">selected</cfif>>Html
</cfif>
</cfselect>
</td>
</tr>
<tr><td  colspan="5">Query</td></tr>
<tr><td  colspan="5"><cftextarea name="txtSQL"  rows="20" cols="100%" style="width: 100%; height: 280px;; font-family: courier;" class="codepress sql linenumbers-off" id="sql"></cftextarea></td></tr>
<tr><td nowrap colspan="5">
<cfinput type="Button" name="cmdProcess" value="Process Query" onclick="javascript:process_query();">&nbsp;&nbsp;<cfinput type="Button" name="cmdConvert_Excell" value="Convert To Excell" onclick="javascript:convert_excell();">
</td></tr>
</table>
<Script>
function convert_excell()
{
document.frmSQL.convert_TO_Excell.value ="YES";
document.frmSQL.submit();
}
function process_query()
{
document.frmSQL.convert_TO_Excell.value ="NO";
document.frmSQL.submit();
}
</Script>
</cfform>
<br><br>
<cfform name="Frm_Query" enablecab="yes" format="html">

<cfif isdefined("txtSQL")>
<Cfset TxtRunSql = "#evaluate(DE(preservesinglequotes(txtSQL)))#">
<cftry>
<cfquery name="qRes" datasource="#reqsess_dsn#">
#evaluate(DE(preservesinglequotes(TxtRunSql)))#
</cfquery>

<cfif isdefined("txtSQL") and (lcase(left(txtSQL,6)) Neq "insert" OR lcase(left(txtSQL,6)) Neq "update" OR lcase(left(txtSQL,6)) Neq "delete")>
<cfif IsDefined("qRes.recordcount")>
#qRes.recordcount# found<br><br>
<cfif qRes.recordcount>
<cfif convert_TO_Excell NEQ "YES">
<cfif ServiceFactory.LicenseService.getMajorVersion() GT 7>
<Cfif UCASE(TRIM(view_output)) NEQ "TABLE">
<cfinclude template="cfgrid.cfm">
<Cfelse>
<cftable query="qRes" colspacing="2" border="1" htmltable colheaders>
<cfloop index="iFld" list="#qRes.columnlist#"><cfcol header = "<b>#iFld#</b>" align = "Center" text= "#evaluate("qRes.#iFld#")# &nbsp;"></cfloop>
</cftable>
</Cfif>
<cfelse>
<cftable query="qRes" colspacing="2" border="1" htmltable colheaders>
<cfloop index="iFld" list="#qRes.columnlist#"><cfcol header = "<b>#iFld#</b>" align = "Center" text= "#evaluate("qRes.#iFld#")#"></cfloop>
</cftable>
</cfif>
<cfelse>
<cfheader name="content-disposition" value="inline; filename=QUERY_TO_EXCELL[#DateFormat(now(),"ddmmyyyy")#].xls">
<cfcontent type="application/msexcel">
                            <style>
                             .XLSNIP
                            {mso-style-parent:style0;
                            color:black;
                            font-size:8.0pt;
                            font-family:Verdana, sans-serif;
                            mso-font-charset:0;
                            mso-number-format:"\@";
                            vertical-align:top;
                            border-top:none;
                            border-right:none;
                            background:white;
                            mso-pattern:auto none;
                            white-space:normal;}
                            </style>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<cfloop index="iFld" list="#qRes.columnlist#">
<td bgcolor="##C0C0C0">#iFld#</td>
</cfloop>
</tr>
<cfloop query="qRes">
<cfset icur=qRes.currentrow>
<tr>
<cfloop index="iFld" list="#qRes.columnlist#">
<cfif IsDate(evaluate("qRes.#iFld#[#icur#]"))>
<td>#dateformat(evaluate("qRes.#iFld#[#icur#]"),"dd/MMM/yyyy")#</td>
<cfelse>
<td class="XLSNIP">#evaluate("qRes.#iFld#[#icur#]")#</td>
</cfif>
</cfloop>
</tr>
</cfloop>
</table>
<cfinput type="hidden" name="convert_TO_Excell" value="NO">
</cfif>
</cfif>
</cfif>
</cfif>
<cfcatch>
<cfrethrow>
<cfloop collection = #cfcatch# item = "c"> <br><cfif IsSimpleValue(cfcatch[c])>#c# = #cfcatch[c]#</cfif> </cfloop>
</cfcatch>
</cftry>
</cfif>
</Cfform>
</cfoutput>


Langkah Kedua :
Simpan Source Code yang sudah mas bro buat dengan nama misalkan QueryEditor.cfm, Lalu mas bro jalankan file yang sudah mas bro simpan. misalkan dengan mengetikkan alamat browsernya seperti ini http://localhost:8500/QueryEditor.cfm

Maka Hasilnya akan seperti ini




Contoh Filenya Bisa Di Download Di Sini Query Editor

Selamat Mencoba Mas Bro... :)