Pages

Thursday, December 16, 2010

Connection String for SQL Server 2008

.NET Framework Data Provider for SQL Server
Type:    .NET Framework Class Library
Usage:  System.Data.SqlClient.SqlConnection

#Standard Security

Data Source=myServerAddress;Initial Catalog=myDataBase;UserId=myUsername;Password=myPassword;

Use serverName\instanceName as Data Source to connect to a specific SQL Server instance. Are you using SQL Server 2008 Express? Don't miss the server name syntax Servername\SQLEXPRESS where you substitute Servername with the name of the computer where the SQL Server Express installation resides.

#Connect via an IP address

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

DBMSSOCN=TCP/IP. This is how to use TCP/IP instead of Named Pipes. At the end of the Data Source is the port to use. 1433 is the default port for SQL Server.

Sumber: http://www.connectionstrings.com

Friday, December 3, 2010

Membandingkan Selisih Nilai pada DataGridView

Ilustrasi Tabel Nilai


Ilustrasi Tabel Hasil

Diilustrasikan terdapat sebuah tabel yang akan kita hitung selisih perbandingan dari masing-masing entitas berdasarkan masing-masing kriteria penilaian, yaitu Tabel Nilai. Tabel Nilai berisi skor penilaian masing-masing karyawan terhadap masing-masing kriteria penilaian, yaitu IQ, EQ, dan Penampilan sedangkan Tabel Hasil menampilkan hasil perhitungan selisih skor berdasarkan salah satu kriteria yang telah dipilih (terlihat kriteria yang dipilih pada gambar adalah IQ) dengan membandingkan dari setiap karyawan dimana tabel-tabel tersebut ditampilkan dalam bentuk DataGridView. Jadi, ada DataGridView untuk menampilkan Tabel Nilai (sebut saja DGVNilai) dan ada DataGridView untuk menampilkan Tabel Hasil (sebut saja DGVHasil).

Ilustrasi perhitungan dari Tabel Hasil sebagai berikut:
Skor penilaian dari Pegawai-1 akan dibandingkan dengan skor nilai dari masing-masing pegawai yang lain, yaitu dimulai dari Pegawai-1, Pegawai-2, Pegawai-3, Pegawai-4, dan terakhir Pegawai-5. Skor nilai dari Pegawai-1 untuk IQ adalah 2 kemudian dari skor tersebut akan kita kurangkan dengan skor nilai dari masing-masing pegawai lain. Untuk membandingkan dengan skor nilai Pegawai-1 dengan Pegawai-2 kita mengurangkan 2-5 = -3, lanjut ke Pegawai-3 dengan 2-4 = -2, dan seterusnya.

Berikut ini adalah syntax programnya:
'---
Dim H, N, col As Integer

'col adalah index kolom pada Tabel Nilai
col = ComboBox1.SelectedIndex + 1
   For T As Integer = 1 To DGVHasil.Columns.Count - 1
      N = DGVNilai.Rows(T - 1).Cells(col).Value
         For W As Integer = 0 To DGVNilai.Rows.Count - 1
            H = N - DGVNilai.Rows(W).Cells(col).Value
            DGVHasil.Rows(W).Cells(T).Value = H
         Next 'Baris berikutnya pada DGVNilai
   Next 'Kolom berikutnya pada DGVHasil
'---

Tampilan Aplikasi

Thursday, September 23, 2010

Membangun Jaringan Wireless dengan Mode Ad-Hoc

Topologi jaringan ini adalah topologi jaringan wireless yang paling sederhana. Pada koneksi mode ini, komputer dihubungkan secara langsung tanpa menggunakan perantara, sama halnya pada mode peer to peer pada jaringan konvensional. Namun, berbeda dengan jaringan konvensional yang menggunakan kabel UTP tipe cross yang hanya dapat menhubungkan 2 PC, pada mode ad-hoc kita dapat menghubungkan lebih dari dua PC dengan menambah wireless adapter pada masing-masing PC. Topologi ad-hoc ini juga disebut dengan IBSS (Independent Basic Service Set).

Topologi Jaringan Wireless Mode Ad-Hoc

Konfigurasi Ad-Hoc pada Windows XP

Sebelum bergabung dengan jaringan ad-hoc, kita harus melakukan beberapa konfigurasi terlebih dahulu, langkah-langkahnya adalah sebagai berikut:
1. Klik kanan pada My Network Places lalu klik Properties
2. Akan muncul jendela Network Connection, pada jendela ini klik kanan pada menu Wireless Network Connection lalu klik Properties
3. Pilih Internet Protocol (TCP/IP), lalu klik Properties
4. Isikan alamat IP yang dikehendaki, jika sudah selesai klik Ok
5. Masih pada jendela Wireless Network Connection Properties, klik menu Wireless Network, lalu klik Add untuk menambahkan jaringan ad-hoc
6. Pada jendela Wireless Network Properties, ikuti langkah-langkah berikut ini:
·Network Name (SSID), isi dengan nama jaringan wireless ad-hoc yang akan dibuat
·Network Authentication, biarkan dalam kondisi default yaitu Open.
·Data Encryption, biarkan dalam kondisi default yaitu WEP
·Hilangkan tanda cek pada The key is provided for me automatically untuk membuka kotak isian Network Key. Isikan kata kunci untuk bergabung ke jaringan wireless ad-hoc
·Key index dibiarkan dalam kondisi default
·Beri tanda cek pada This is computer-to-computer (Ad-Hoc) network……
7. Selanjutnya masih pada jendela Wireless Network klik menu Advanced
8. Pilihlah Computer to computer [ad-hoc] networks only.

Sampai pada tahap ini, kita telah selesai membuat jaringan wireless ad-hoc. Untuk mulai bergabung dengan jaringan ad-hoc, langkah-langkahnya adalah sebagai berikut:
1. Hidupkan kedua PC terlebih dahulu
2. Klik kanan pada icon Wireless Network Connection yang ada pada pojok kanan bawah komputer, lalu pilih menu View Available Wireless Networks
3. Pilih jaringan ad-hoc. Untuk langsung memulai, klik Connect
4. Isikan password yang telah dibuat lalu tunggu sampai proses selesai.

Thursday, September 2, 2010

Cara Install Android SDK Pada Eclipse Pulsar


Pertama kali yang perlu Anda persiapkan adalah IDE untuk mengembangkan aplikasi berbasis Android. Saya memilih menggunakan Eclipse Pulsar karena mendukung pengembangan aplikasi mobile dan antarmuka yang sederhana. Silakan diunduh dan diekstrak Eclipse Pulsar.
Langkah kedua yang perlu Anda persiapkan adalah mengunduh Android SDK. Setelah selesain mengunduh dlalu ekstrak dan tempatkan folder SDK di lokasi yang diinginkan, sebagai contoh saya letakkan di root direktori C:\.
Langkah ketiga kita atur path menuju ke folder SDK Android tersebut. Pada desktop klik kanan icon My Computer kemudian pilih Properties. Pada tab Advanced klik tombol Environment Variables kemudian akan tampil kotak dialog seperti di bawah.



Pada System Variables lakukan double click pada Path lalu ubah Variable Value-nya menjadi lokasi dimana folder SDK Android berada dan ditambahkan dengan \tools kemudian klik OK.



Langkah keempat kita menginstall ADT (Android Development Tools) plugin untuk Eclipse Pulsar. Jika sebelumnya Anda telah menginstall Eclipse Pulsar, maka pada menu Help pilih Install New Software. Pada kotak dialog Available Software klik tombol Add. Akan muncul kotak dialog Add Site, masukkan nama situs remote (seperti "Android Plugin") pada field "Name". Pada field "Location", masukkan URL berikut: https://dl-ssl.google.com/android/eclipse/ kemudian klik OK. Kita akan kembali pada kotak dialog Available Software, kamu akan melihat "Developer Tools" sudah muncul dalam daftar. Centang semua pilihan pada Android DDMS and Android Development Tools kemudian klik Next.


 

In the resulting Install Details dialog, the Android DDMS and Android Development Tools features are listed.


Klik Next kemudian akan tampil kotak dialog Review Licences pilih accept the license agreement lalu Finish.



Eclipse akan mengunduh ADT dan akan muncul kotak warning pilih Yes.






Setelah selesai mengunduh dan menginstall ADT, Eclipse akan menampilkan pesan seperti gambar di atas, pilih Restart Now.

Sekarang Anda telah selesai menginstall SDK yang dibutuhkan untuk pengembangan aplikasi berbasis Android.

Tuesday, August 31, 2010

Bulding Graphical MIDlets

Numeric Color Component Values




Lines
Dipakai untuk menggambar garis.
Syntax: 
drawLine(int x1, int y1, int x2, int y2)
dimana x1, y1 adalah starting point dan x2, y2 adalah ending point.

Contoh:

public void paint(Graphics g) {
g.drawLine(5, 10, 15, 55);
}


Rectangles
Dipakai untuk menggambar persegi atau persegi panjang.

Syntax: drawRect(int x, int y, int width, int height)

Contoh:

public void paint(Graphics g) {
g.drawRect(5, 10, 15, 55);
}


Arcs
Dipakai untuk menggambar sudut.

Syntax: drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)


Contoh:

public void paint(Graphics g) {
g.drawArc(5, 10, 150, 75, 95, 115);
}


Drawing Text
Dipakai untuk menambahkan teks.

Syntax: setFont(Font font)


Font getFont(int face, int style, int size)



The font face must be one of the following values: FACE_SYSTEM, FACE_MONOSPACE, or FACE_PROPORTIONAL.
The style of font must be one of the constants I mentioned earlier: STYLE_PLAIN or a combination 
of STYLE_BOLD, STYLE_ITALIC, and STYLE_UNDERLINED. T
he font size is specified 
as one of the following predefined constants: SIZE_SMALL, SIZE_MEDIUM, or SIZE_LARGE.


Contoh:

Font myFont = Font.getFont(Font.MONOSPACE, Font.LARGE, Font.BOLD | Font.UNDERLINED);


drawString(String str, int x, int y, int anchor)


An anchor point is associated with a horizontal constant and a
vertical constant, each of which determines the horizontal and vertical positioning of the 
text with respect to the anchor point. The horizontal constants used to describe an anchor 
point are LEFT, HCENTER, and RIGHT. One of these constants is combined with a vertical 
constant to fully describe an anchor point. The vertical constants are TOP, BASELINE, and 
BOTTOM.

Contoh:

g.drawString(“Look up here!”, getWidth() / 2, 0, Graphics.HCENTER | Graphics.TOP);


Drawing Images
 Dipakai untuk menambahkan image atau picture.
Contoh:
public void paint(Graphics g) {
// Clear the display

g.setColor(255, 255, 255); // White
g.fillRect(0, 0, getWidth(), getHeight());


// Create and load the image

Image img = Image.createImage(“Bull.png”);


// Draw the image

g.drawImage(img, getWidth()/2, getHeight()/2,

Graphics.HCENTER|Graphics.VCENTER);
}


Sumber: Sams Teach Yourself: Wireless Java With J2ME in 21 Days

Tuesday, August 24, 2010

MIDP-Specific Classes and Interfaces

This portion of the MIDP API is divided among several packages, all of which are prefixed with the javax.microedition name:
• javax.microedition.midlet
• javax.microedition.lcdui
• javax.microedition.io
• javax.microedition.rms

The javax.microedition.midlet Package
The javax.microedition.midlet package is the central package in the MIDlet API, and contains only one class: the MIDlet class. The MIDlet class provides the basic functional overhead required of a MIDP application (MIDlet) that can execute on a mobile device.

The javax.microedition.lcdui Package
The javax.microedition.lcdui package includes classes and interfaces that support GUI components that are specially suited for the small screens found in mobile devices.
Following are the interfaces defined in this package:
Choice—An interface that describes a series of items from which the user can
choose.
CommandListener—An event listener interface for handling high-level commands.
ItemStateListener—An event listener interface for handling item state events.

In addition to these interfaces, also several classes are in the javax.microedition.lcdui package:
Alert—A screen that displays information to the user, and then disappears.
AlertType—Represents different types of alerts used with the Alert class.
Canvas—A low-level drawing surface that allows you to draw graphics on the screen.
ChoiceGroup—Presents a group of selectable items; used in conjunction with the Choice interface.
Command—Represents a high-level command that can be issued from within a MIDlet.
DateField—Presents a date and time so that it can be edited.
Display—Represents a mobile device’s display screen, and also handles the retrieval of user input.
Displayable—An abstract component that is capable of being displayed; other GUI components subclass this class.
Font—Represents a font and its associated font metrics.
Form—A screen that serves as a container for other GUI components.
Gauge—Displays a value as a percentage of a bar graph.
Graphics—Encapsulates two-dimensional graphics operations such as drawing lines, ellipses, text, and images.
Image—Represents a graphical image.
ImageItem—A component that supports the layout and display of an image.
Item—A component that represents an item with a label.
List—A component consisting of a list of choices that can be selected.
Screen—Represents a full screen of high-level GUI information, and serves as the base class for all MIDP GUI components.
StringItem—A component that represents an item consisting of a label and an associated string of text.
TextBox—A type of screen that supports the display and editing of text.
TextField—A component that supports the display and editing of text; unlike TextBox, this component can be placed on a form with other components.
Ticker—A “ticker tape” component that displays text moving horizontally across the display.


The javax.microedition.io Package
CLDC lays the groundwork for networking and I/O with the java.io package and the Generic Connection Framework (GCF). The MIDP API builds on this support with the addition of the HttpConnection interface, which is included in the javax.microedition.io package. The HttpConnection interface solidifies the GCF with support for an HTTP connection, which is useful for accessing Web data from within a MIDlet.

The javax.microedition.rms Package
Because few mobile devices have hard drives or any tangible file system, you probably won’t rely on files to store away persistent MIDlet data. Instead, the MIDP API describes an entirely new approach to store and retrieve persistent MIDlet data: the Record Management System (RMS). The MIDP RMS provides a simple record-based database API for persistently storing data. The classes and interfaces that comprise the RMS are all located in the javax.microedition.rms package.
Following are the RMS interfaces found in this package:
RecordComparator—An interface used to compare two records.
RecordEnumeration—An interface used to iterate through records.
RecordFilter—An interface used to filter records according to certain criteria.
RecordListener—An event listener interface used to handle record change events.
In addition to these interfaces, a few classes fit into the RMS architecture. Most importantly, the RecordStore class represents a record store, which is essentially a simplified database for MIDlet data storage.

The following classes are included in the javax.microedition.rms package:
InvalidRecordIDException—Thrown whenever an operation fails because the record ID is invalid
RecordStore—Represents a record store
RecordStoreException—Thrown whenever an operation fails because of a general exception
RecordStoreFullException—Thrown whenever an operation fails because the record store is full
RecordStoreNotFoundException—Thrown whenever an operation fails because the record store cannot be found
RecordStoreNotOpenException—Thrown whenever an operation is attempted on a closed record store


Sumber: Sams Teach Yourself: Wireless Java With J2ME in 21 Days

Saturday, August 21, 2010

Menggunakan Eclipse Untuk Pengembangan Aplikasi Handphone Berbasis Java ME

Berikut adalah yang kita perlukan jika ingin mengembangkan aplikasi mobile berbasis Java ME dengan Eclipse:

Hal basis yang kita perlukan untuk mengembangkan aplikasi mobile menggunakan Java. Java SE SDK memberikan fungsi-fungsi dasar yang dibutuhkan oleh Java ME.
SDK ini hal yang wajib diinstal jika ingin mengembangkan aplikasi mobile berbasis Java. SDK ini selain menyediakan fungsi-fungsi untuk pengembangan aplikasi mobile juga menyediakan emulator untuk dapat menjalankan program yang sudah kita buat secara simulasi di komputer desktop.
Eclipse Pulsar, bagi yang sudah sering menggunakan Eclipse untuk mengembangkan aplikasi Java desktop, pasti tidak akan terlalu susah untuk beradaptasi dengan IDE yang satu ini. Eclipse Pulsar dibuat berbasis pada framework Eclipse. Eclipse Pulsar merupakan jembatan antara Java ME SDK dengan programmer. Saya menggunakan Eclipse Europa versi 3.3.2 karena belum terbiasa menggunakan Eclipse Pulsar. Namun, saya sarankan lebih baik menggunakan Eclipse Pulsar karena fitur-fiturnya terbarunya lebih baik daripada Eclipse Europa versi 3.3.2.

 
Langkah instalasi tool pengembangan aplikasi mobile berbasis Java ME:
1. Install Java SE SDK versi terbaru, ikuti petunjuk yang diberikan ketika melakukan proses instalasi.
2. Install Java ME SDK, ikuti petunjuk yang diberikan ketika melakukan proses instalasi.

Setelah kita menginstalasi segala yang kita butuhkan, sekarang saatnya kita mengkonfigurasikan Eclipse Europa versi 3.3.2 agar dapat menggunakan Java ME SDK, berikut adalah langkah-langkahnya:

1. Pilih menu Window>Preferences>J2ME>Device Management, di sini anda akan melihat interface mengenai perangkat emulator yang dapat digunakan untuk membuat aplikasi mobile. Awalnya daftar ini masih kosong oleh karena itu kita akan mengimpornya.



 2. Klik tombol Import lalu cari folder dimana anda menginstall Java ME SDK di komputer Anda dengan mengklik tombol Browse biasanya terletak pada folder root C:\WTK***.


3. Eclipse akan mendeteksi semua emulator yang ditemukan pada folder tersebut dan memberikan daftar emulator kemudian klik Finish.


4. Kita akan kembali lagi pada window Preferences kemudian klik OK.


Langkah pengkonfigurasian di atas dimaksudkan agar kita dapat mengemulasikan aplikasi mobile yang sudah kita buat pada komputer desktop. Sekarang kita sudah selesai mengkonfigurasi lingkungan pengembangan yang kita butuhkan untuk membangun aplikasi mobile.

Cara Membuka File Project JAVA ME di Eclipse Europa

Jika Anda sering menggunakan Eclipse Europa sebagai salah satu IDE tool selain NetBeans untuk membuat project Java ME tentunya bingung ketika akan membuka file project JAVA ME yang tersimpan di media penyimpanan seperti flashdisk.

Berikut ini adalah langkah-langkah membuka file project JAVA ME di Eclipse Europa:

1. Pada tab Package Explorer di sebelah kiri dari window editor klik kanan kemudian pilih menu Import.


2. Pada window Select Import Source kemudian pilih Existing Projects into Workspace.


3. Pada textbox Select root directory klik tombol Browse kemudian cari letak folder dimana Anda menyimpan  file project JAVA ME kemudian klik OK.


4. Anda akan kembali pada window Select Import Source, jangan lupa untuk memberi tanda centang pada checkbox Copy project into workspace agar file project J2ME Anda juga disimpan pada folder workspace Eclipse.


5. File project JAVA ME Anda kini telah muncul pada tab Package Explorer dan Anda dapat meng-edit coding pada window editor di sebelah kanan.

Friday, August 20, 2010

The MIDlet Life Cycle

MIDP applications are represented by instances of the javax.microedition.midlet.MIDlet class. MIDlets have a specific life cycle, which is reflected in the methods and behavior of the MIDlet class. A piece of device-specific software, the application manager, controls the installation, execution, and life cycle of MIDlets. MIDlets have no access to the application manager. A MIDlet is installed by moving its class files to a device. The class files will be packaged in a Java Archive (JAR), while an accompanying descriptor file (with a .jad extension) describes the contents of the JAR.

A MIDlet goes through the following states:

1. When the MIDlet is about to be run, an instance is created. The MIDlet’s constructor is run, and the MIDlet is in the Paused state.

2. Next, the MIDlet enters the Active state after the application manager calls startApp().

3. While the MIDlet is Active, the application manager can suspend its execution by calling pauseApp(). This puts the MIDlet back in the Paused state. A MIDlet can place itself in the Paused state by calling notifyPaused().

4. While the MIDlet is in the Paused state, the application manager can call startApp() to put it back into the Active state.

5. The application manager can terminate the execution of the MIDlet by calling destroyApp(), at which point the MIDlet is destroyed and patiently awaits garbage collection. A MIDlet can destroy itself by calling notifyDestroyed().


MIDlet Life Cycle

Sumber: Beginning J2ME: From Novice to Professional, Third Edition

Monday, August 16, 2010

Ganti Partition Magic dengan Freeware Easeus Partition Manager

Bagi yang sering utak-atik hardisk pasti tidak asing dengan program Partition Magic, software untuk mem-partisi hardisk dengan mudah. Saat ini (sebenarnya sudah agak lama ) ada alternatif gratis yang tidak kalah fiturnya. Easeus Partition Manager Home Edition, yang baru saja merilis versi terbarunya. Tampilannya pun mirip partition magic dengan fitur terbaru, yaitu Disk Copy Wizard, Partition Copy Wizard untuk memproteksi data dan mendukung hardisk yang berukuran 1.5 TG.

Software ini mendukung sistem operasi Windows 2000/XP/Vista. Bisa digunakan untuk Flashdisk, Hardisk PATA, SATA, STA II, SCSI,S-SATA Raid dan lainnya. Software ini bisa digunakan untuk memperbaiki hardisk yang terkena bad sector (secara software, bukan rusak fisik). Silakan download EASEUS Partition Manager dan nikmati fitur-fitur yang tidak kalah hebatnya dengan Partition Magic berbayar.

 Tampilan Window Easeus Partition Manager

Wednesday, August 4, 2010

RealVNC

VNC stands for Virtual Network Computing. It is remote control software which allows you to view and interact with one computer (the "server") using a simple program (the "viewer") on another computer anywhere on the Internet.

The two computers don't even have to be the same type, so for example you can use VNC to view an office Linux machine on your Windows PC at home. VNC is freely and publicly available and is in widespread active use by millions throughout industry, academia and privately.

This version includes both the VNC server and viewer.


Friday, July 23, 2010

Memberi Warna Baris Pada DataGridView

Coding berikut ini untuk memberi warna background baris pada DataGridView berdasarkan nilai atau teks tertentu yang terdapat pada cell.

For Each row As DataGridViewRow In DataGridView1.Rows
  If Not row.IsNewRow Then
    If Not row.Cells(1).Value Is DBNull.Value Then
      If row.Cells(1).Value = "Yes" Then
        row.DefaultCellStyle.BackColor = Color.Red
      End If
    End If
  End If
Next

Tuesday, July 13, 2010

Manghapus dan Menambah Item Pada ListView

Contoh coding untuk menambah item:
' Adds a new item with ImageIndex 3
ListView1.Items.Add("List item text", 3)


Contoh coding untuk menghapus item:
' Removes the first item in the list
ListView1.Items.RemoveAt(0)
' Clears all items:
ListView1.Items.Clear()

Saturday, July 10, 2010

Conversion From Type 'DBNull' to Type 'String' is Not Valid

Suatu saat kita tentu pernah berhadapan dengan pesan exception seperti pada gambar berikut:


Pesan tersebut muncul ketika kita akan menampilkan data dimana baris record tersebut pada salah satu field-nya berisi nilai 'null' alias tidak terdapat data. Agar pesan exception tersebut tidak muncul lagi pastikan bahwa semua field berisi data dan tidak ada yang kosong alias 'null'. Cara lainnya adalah dengan menggunakan IsDBNull. Contoh pemakaian perintah IsDBNull seperti pada syntax di bawah ini:

cn.Open()
comm.Connection = cn
comm.CommandType = CommandType.Text
comm.CommandText = "select * from test where kolom1 = '888'"
dr = comm.ExecuteReader
    If dr.Read Then
         If IsDBNull(dr!kolom2) Then
             TextBox1.Text = ""
         Else
             TextBox1.Text = dr!kolom2
         End If
     End If

Pada syntax di atas jika terdapat nilai 'null' pada kolom2, maka pada TextBox1 akan tampil kosong dan sebaliknya, jika terdapat data akan menampilkan isi dari field kolom2.

Friday, July 9, 2010

Kapan Menggunakan ExecuteReader, ExecuteNonQuery, ExecuteScalar

SqlClient namespace in ADO.NET provides 3 basic methods to run queries with SqlCommand against MSSQL:

    * ExecuteReader
    * ExecuteNonQuery
    * ExecuteScalar

.NET Framework is around for 5 years already now, but these 3 methods are among the most misused in application development. The problem is that ExecuteReader will work for every query via SqlCommand, so most people use it everywhere. The direct result - slow and non-scalable solution. Other results include database bottlenecks, locks and connection leaks.


ExecuteReader

Do not use: when database query is going to provide for sure exactly 1 record. It may be getting record by its id (which is PK in the database) - GetOrderById and such. In this case use ExecuteNonQuery with output parameters.

Use: when database query is going to provide a set of records. It may be search or report.

ExecuteNonQuery

Use: when we are talking about a single database record - in Update, Insert, Delete and Get by Id. In all these cases we can use input/output/input-output parameters. Please note that from the application architecture point of view it is also good practices when your Insert and Update stored procedure returns changed record exactly like Get By Id method does.

ExecuteScalar

Do not use: when database query returns a single value and this value can be defined as parameter in T-SQL. ExecuteNonQuery with output parameter(s) is always preferred in this case since it is more flexible, tomorrow there will be 2 values therefore having ExecuteNonQuery we do not need to change method signatures.

Use: when database query returns a single value and this value cannot be defined as output parameter, because of T-SQL type limitation for variables. For example type image cannot be output parameter in MSSQL.

The most common example for ExecuteScalar is fetching a single image stored in the database and converting it to array of bytes. If you google it - most examples will demonstrate using of ExecuteReader to accomplish image handler, however ExecuteScalar will be more scalable and faster.

Conclusion

Always use ExecuteNonQuery except: when you have a set of records - use ExecuteReader and when you have a single output value that cannot be defined as a parameter - use ExecuteScalar.

Saturday, July 3, 2010

Try … Catch Pada VB .NET

VB.NET memiliki kelas inbuilt yang berhubungan dengan errors. Kelas ini disebut Exception. Ketika error exception ditemukan, objek Exception dibuat. Struktur coding pada VB.NET untuk menangani error dengan Exception tersebut disebut struktur Try ... Catch.

Try


Catch ex As Exception


Finally


End Try


Kata Try berarti "Coba jalankan code ini". Kata Catch berarti "Tangkap semua error di sini". Sedangkan variabel ex, dan tipe variabel itu adalah sebuah objek Exception. Ketika program Anda dijalankan, VB akan mencoba mengeksekusi semua code pada bagian Try. Jika program berjalan dengan baik, bagian Catch akan dilewatkan. Sebaliknya, jika terjadi sebuah error, VB.NET akan menuju langsung ke Catch. Tambahkan baris berikut ke bagian Catch:

MsgBox(ex.Message)

Jika program dijalankan dan terjadi error, maka pesan error tersebut akan muncul sebagai message box dan tidak berupa pesan error seperti berikut:


Bagian Finally akan selalu dijalankan, walaupun terjadi error atau tidak. Biasanya bagian Finally berisi coding untuk membersihkan layar atau menutup koneksi/file yang telah terbuka.

Thursday, July 1, 2010

Membuat Grafik Pada Visual Basic 2008

Untuk membuat grafik pada VB NET bisa melalui laporan (report) atau melalui form. Saya akan mengajarkan menampilkan grafik pada form VB .NET menggunakan komponen Microsoft Chart Control 6.0 (SP4) (OLEDB).

Langkah-langkah membuat grafik pada form sebagai berikut:
1. Buka sebuah project lalu tambahkan sebuah form baru.
2. Pada menu Tools pilih Choose Toolbox Items.


3. Pada window Choose Toolbox Items masuk ke tab COM Components lalu centang Microsoft Chart Control 6.0 (SP4) (OLEDB), klik OK.


4. Pada Toolbox sudah terdapat komponen Microsoft Chart Control 6.0 (SP4) (OLEDB), pillih, lalu tambahkan pada form Anda.


5. Sekarang form Anda telah terdapat komponen tampilan grafik dan langkah selanjutnya adalah membuat coding untuk menampilkan grafik tersebut.

Beberapa atribut dasar yang terdapat pada AxMSChart:
.chartType untuk menentukan tipe/jenis tampilan grafik
.ColumnCount untuk menentukan jumlah grafik atau perbandingan tampilan grafik
.RowCount untuk menentukan berapa banyak baris data angka/nilai yang akan ditampilkan pada grafik
.ColumnLabel untuk menampilkan label pada kolom grafik
.RowLabel untuk menampilan label pada baris angka/nilai grafik
.Data untuk menentukan nilai dari data grafik baik untuk kolom maupun baris
.Row untuk menentukan baris
.Column untuk menentukan kolom

Berikut ini adalah contoh coding untuk menampilkan grafik:

Dim T As Integer

'Tentukan jenis tampilan grafik
AxMSChart1.chartType = MSChart20Lib.VtChChartType.VtChChartType2dBar
AxMSChart1.RowCount = 5 'Menentukan jumlah baris adalah 5
AxMSChart1.ColumnCount = 2 'Menentukan jumlah grafik adalah 2

'Perulangan
For T = 1 To AxMSChart1.RowCount 'Here it is dynamically and will work in all cases of values for AxMSChart1.Row

'Set that we want to edit the row "T"
AxMSChart1.Row = T

'Setting it's label to T
AxMSChart1.RowLabel = T

'Memanipulasi grafik 1
AxMSChart1.Column = 1 'Set that I want to edit the first graph
AxMSChart1.Data = T * 20

'Memanipulasi grafik 2
AxMSChart1.Column = 2 'Set that I want to edit the second graph
AxMSChart1.Data = T * 15
Next

Jika Anda ingin membuat grafik perbandingan antara satu grafik dengan grafik yang lain buatlah jumlah kolomnya (column) lebih dari 1 sesuaikan dengan jumlah perbandingan grafik. Jangan pusing @_@ dengan istilah kolom (column) dan baris (row) pada grafik. Kalian bisa lihat pada tampilan form Grafik Penjualan di bawah ini. Baris (row) ditunjukkan dengan angka 1 s.d. 5 pada sumbu X sedangkan kolom terlihat pada banyaknya grafik di salah satu baris (misalnya baris 1 terdapat dua grafik yaitu grafik hijau dan grafik merah berarti ada 2 kolom).

Tampilan grafik dari coding di atas:

 

Blogger news

About Me

My photo
Palembang, Sumatera Selatan, Indonesia
Seorang yang ingin terus belajar.