Thursday, 10 October 2013

Create Report And Fill Filterstring Report ASP.Net

Ada beberapa cara untuk memfilter isi report yang ada di ASP.Net, cara tersebut antara lain

  • Filter Parameter Storeprocedure, langsung memfilternya dari query SQL-nya, memasukan parameter langsung ke StoreProcedure dan report secara langsung menerima data bersih yang sudah ter-filter dari stroprocedure tersebut
  • Filterstring Report, Report di ASP.Net telah menyediakan fasilitas yang berupa Filterstring, jadi pengaturan data mana saja yang akan di tamplikan di report, konfigurasinya di lakukan di report ASP.netnya, dengan memasukan filterstringnya tersebut.

FilterString disini dilakukan pada dataBinding report viewer. Berikut contoh dengan Filterstring ASP.Net :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
protected void ReportViewer1_DataBinding(object sender, EventArgs e)
{
 bindGridView();
}

protected void bindGridView(){ 
 //create report baru ReportViewer.Report = null;
 EmployeeReport EReport = new EmployeeReport();
 
 //pengisian parameter,disini di contohkan memiliki 3 parameter report
 EReport.Paramcompany.Value = "PT. KodeKodeKode";
 EReport.ParamDateFrom.Value = dateFrom.Value;
 EReport.ParamDateTo.Value = dateTo.Value; 

 //pengisian filter string string filterString = "";
 filterString = "([Company] = ?Paramcompany) And " +
 "([Date] Between(?ParamDateFrom, ?ParamDateTo))";

 EReport.FilterString = filterString; 
 
 //tampilkan report di report viewer 
 ReportViewer1.Report = EReport;
}

Tuesday, 8 October 2013

Import Excel Data To DataTable ASP.Net

Untuk Membaca data excel dari luar, dan meng-importnya ke datatable ASP.net, yang kita perlukan adalah sebuah koneksi, dimana koneksi tersebut akan membuka jalan kita untuk melakukan query didalam data excel. Berikut ini adalah contoh 3 koneksi yang berbeda tergantung kepada ekstensi file Excelnya :
akan ada sedikit masalah apabila nanti website kita di hosting, dan server tidak memiliki office

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//get ekstensi
string strFileType = Path.GetExtension(FileName).ToLower();
//penentuan koneksi berdasarkan ekstensi
if (strFileType.Trim() == ".xls")
{
   connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="file-path-nya"; Extended Properties='Excel 8.0;HDR={1}'";
}
else if (strFileType.Trim() == ".xlsm")
{
   connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="file-path-nya";Extended Properties='Excel 12.0 Macro;HDR=YES'";
 }
 else if (strFileType.Trim() == ".xlsx")
{
   connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="file-path-nya";Extended Properties=Excel 12.0;";
 } 
//pembukaan connection string
OleDbConnection conn = new OleDbConnection(connString);
 if (conn.State == ConnectionState.Closed)
    conn.Open(); 
//query untuk mengambil data dari excel berdasarkan nama sheet
DataSet Ds = new DataSet();
OleDbDataAdapter dAdapter = new OleDbDataAdapter("select * from ["nama-sheet"$]", conn);
 dAdapter.TableMappings.Add("Table", "Excel");
 dAdapter.Fill(Ds);
 DataTable Dt = new DataTable();
 Dt = Ds.Tables[0];

Monday, 7 October 2013

Job Scheduler in SQL Server

Jobs Schedule adalah suatu service yang di sediakan oleh SQL Server yang digunakan untuk pengeksekusian suatu job secara otomatis, job yang dilakukan contohnya adalah pengeksekusian storeprocedure atau sebuah query, dalam contoh nyatanya adalah pengkopian data dari bulan lalu ke bulan sekarang secara otomatis yang berjalan setiap awal bulan di tanggal 1. Langkah pembuatannya adalah sebagai berikut : 
    Login SQL Server (kodekodekode.blogspot.com)
    1. Login SQL Server


SQL Server Agent (kodekodekode.blogspot.com)
2.SQL Server Agent - menuju ke SQL Server Agent > Jobs


New Job (kodekodekode.blogspot.com)
3.New Jobs - klik kanan pada jobs dan pilih New Job

Job Properties (kodekodekode.blogspot.com)
4. Properties Jobs - isi semua yang berhubungan dengan jobs-nya, mulai dari nama sampai description


Step (kodekodekode.blogspot.com)
5. Steps - masukan step baru di tab Step dengan cara klik New


Step Properties (kodekodekode.blogspot.com)
6. Properties Steps - isi properties step-nya Nama, Tipe, Database, dan juga isi Command-nya. Contoh diatas adalah contoh pengeksekusian storeprocedure

schedule (kodekodekode.blogspot.com)
7. Schedule - Pada kolom schedule buat schedule baru dengan mengklik new

Schedule Properties (kodekodekode.blogspot.com)
8. Properties Schedule - set pengaturan schedule disini, isi nama schedule, biarkan tipenya Recuring dan atur waktunya, kapan kita ingin job ini berjalan dan klik ok




Saturday, 5 October 2013

Create Audio Player With HTML 5 And Jquery

HTML 5 sudah menyediakan layanan untuk audio player, dimana kita dapat membuat suatu player dengan mudah di website kita sendiri, selain itu kita juga dapat mengkontrol dengan bantuan Jquery, beriukut ini adalah contoh kodenya : 

<html>
<head>
<title>KodeKodeKode Player</title>

<!-- load library dari jquery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<!-- customize tampilan player -->
<style>
.player-doom{
width: 300px;
height: 30px;
background-color: rgb(22, 21, 21);
border-radius: 6px;
}
.audioplayer{
display: inline-block;
float: left;
}
.player-rewind,.player-pref,.player-next,.player-shuffle{
display: inline-block;
float: left;
width: 21px;
height: 20px;
background-color: white;
margin-left: 10px;
margin-top: 5px;
}
</style>


<!-- JQuery untuk meload lagu dan set play, pause button-->
<script>
$(document).ready(function(){
var index = 0
//buat daftar object yang berisikan judul lagu yang akan di masukan ke playlist 
        //path disini adalah alamat lagu yang kita simpan
var trackList = [{path : "Catapult.mp3"},
                                {path : "R U Mine.mp3"},
                                {path : "Baby Im Yours.mp3"}]
var musicBox = $('#audioplayer').bind('play', function() {
//fungsi apabila tombol play  di tekan
                        playing = true;

                    }).bind('pause', function() {
//fungsi apabila tombol pause di tekan
                        playing = false;
                    }).bind('ended', function() {

                    //fungsi shuffle apa blia lagu telah habis
      var randomNum = Math.ceil(Math.random()*trackList.length) - 1; 
                    $('#audioplayer')[0].pause();
                    $('#audioplayer').attr("src", trackList[randomNum].path);
                    $('#audioplayer')[0].play();
                    index = randomNum;
                    console.log(trackList[randomNum].path)
                    }).get(0)
    
      //set apabila playlist di tekan, mengambil judul lagu yang di tekan, class "song"              
$(".song").click(function(){
var text = $(this).text();
$('#audioplayer')[0].currentTime = 0;
$('#audioplayer').attr("src", text + '.mp3');
$('#audioplayer')[0].play();
})
})
</script>
</head>


<body>
<div class="player-doom">
<!-- audio player -->
<div class="audioplayer">
  <audio id="audioplayer" name="audioplayer" controls>
    <source src="Catapult.mp3" srctype="audio/mpeg">
   browser kamu tidak support elemen audio
  </audio>
</div>
</div>

<!-- playlist kita sediakan dengan class "song" maka 
apabila di tekan jquery pergantian lagu berdasarkan judul akan terjadi-->
<div class="song">Catapult</div>
<div class="song">R U Mine</div>

</body>
</html>

Friday, 4 October 2013

Create, Edit, And Execute StoreProcedure T-SQL

Membuat storeprocedure di SQL Server cukup mudah, Berikut ini syntax untuk membuatnya,
GO
--buat storeprocedure dengan nama "uSPShowEmployeeData"
CREATE PROCEDURE [dbo].[uSPShowEmployeeDataXXX]
--parameter yang di sediakan
@idEmployee INT
AS
-- query utama dari store procedure
  SELECT * FROM Employee Where idEmployee = @idEmployee 
GO
untuk penamaan penulis biasa menggunakan awalan huruf "u", karena sugest penulis, jika diawali dengan huruf "s" seperti "spShowEmployeeData" itu akan berpengaruh pada lama pengeksekusian, karena semua system storeprocedure di SQL Server semua menggunakan awalan "sp". jadi sewaktu kita eksekut nanti akan lama setelah pencarian ke storeprocedure system. hal ini berpengaruh saat kita menggunakan amat banyak storeprocedure. setelah di eksekusi nanti storeprocedure kita akan tampil di daftar programbility SQL Server

Untuk pengeditan Storeprocedure tinggal mengubah Create menjadi alter
GO
--Edit storeprocedure dengan nama "uSPShowEmployeeData" 
ALTER PROCEDURE [dbo].[uSPShowEmployeeXXXData]
--parameter yang di sediakan 
@idEmployee INT
AS
-- query utama dari store procedure 
   SELECT * FROM Employee Where idEmployee = @idEmployee
GO
sedangankan untuk pengeksekusiannya sangatlah mudah, sebagai contoh eksekusi storeprocedure yang telah kita buat di atas:
-- 23 adalah parameter yang di butuhkan
EXEC uSPShowEmployeeDataXXX 23

Wednesday, 2 October 2013

Loop Record Table with Fetch Cursor on T-SQL

Fetch cursor adalah salah satu fasilitas yang disediakan oleh SQL Server untk looping dengan membawa informasi tiap record yang di looping tersebut, nanti mau diapakan data per-record hasil loopingan itu terserah kepada kita yang menolahnya, berikut ini adalah contoh looping menggunakan fetch cursor


-- pendeklarasian variable dan kursor
DECLARE @
IDMenu INT
DECLARE @MenuName VARCHAR(50)
--Mengisi cursor dengan query yang akan di looping
DECLARE MyCursor CURSOR FOR
SELECT IDMenu,MenuName FROM dbo.TblMenu
OPEN MyCursor
--mengisi hasil record ke dalam variable yang di sediakan
FETCH NEXT FROM MyCursor INTO @
IDMenu ,@MenuName
--looping
WHILE @@FETCH_STATUS = 0
BEGIN           --penggunaan variable yang
--sudah terisi hasil loopingannya
--nantinya terserah mau diapakan hasil perecordnya
SELECT @IDMenu AS idMenu,@MenuName as MenuName
--mengisi hasil record selanjutnya  --ke dalam variable yang di sediakan
FETCH NEXT FROM MyCursor INTO @
IDMenu ,@MenuName
        END
     
CLOSE MyCursor
DEALLOCATE MyCursor


Menurut Penulis, fetch cursor memang memakan banyak sekali memory, karena setiap loopingan per-record, akan menjalakan satu buah prosedur yang nantinya data tersebut akan kita olah, bayangkan apabila di query kursornya ada ratusan atau bahkan ribuan record, prosedur yang di jalankan = jumlah recordnya.

Create Temporary Table SQL Server

Pembuatan Temporary pada Query Tsql cukup mudah yaitu menggunakan tanda #, seberanarnya ada beberapa cara dalam pembuatannya, cara di bawah ini adalah bagaimana cara membuat sekaligus mengkopi hasil query yang kita jalankan kedalam Temporary table tersebut :

SELECT  e.EmployeeID, e.EmployeeName
INTO #AbsentEmployee
FROM Employee AS e INNER JOIN Absent AS a ON e.EmployeeID = a.EmplyeeID
HAVING a.Date = '02-01-2013' and a.AbsentID is null
SELECT * FROM #AbsentEmployee 
DROP TABLE #AbsentEmployee
  
kita tidak perlu menginsert kembali isi dari hasil query tersebut karena secara otomatis dia mengCopy semuanya kedalam temporary tablenya. Field yang dibuat itu berdasarkan apa yang kita select dari tablenya, cara ini cukup efisien apabila kita harus mendeklarasikannya terlebih dahulu.