Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Insert/Save Kutip Satu/Single Quote ( ' ) dan Validasi di VBNET

Salah satu test untuk mengetahui sebuah apliaksi database itu baik (bebas Error/Bugs) adalah dengan test input karaker kutip satu / single quote ('). Contoh saja di form master (contoh master barang), anda input nama barang misal barang xx' , atau barang'. terus save. Jika tidak error berarti aplikasi itu dapat dikatakan baik. Karena kebanyakan programmer sering melupakan hal single quote. Biasanya jika aplikasi itu tidak validasi single quote, akan muncul error :
Unclosed quotation mark after the character string '''. Incorrect syntax near '''.
Penjelasan detailnya seperti ini :
Contoh sintak Save anda seperti ini :
sql = "INSERT INTO M_BARANG (KD_BRG,NM_BRG) VALUES ('" + txt_kd.text + "','" + txt_nm.text + "')"
Kemudian Jika anda menginput nama barang dengan kutip satu (') contoh barang xx', maka sintak anda akan menjadi :
INSERT INTO M_BARANG (KD_BRG,NM_BRG) VALUES ('B001','barang xx'')
Nah ini akan error seperti diatas karena menjadi ada kutip satu yang tidak ada pasangannya, karena seharusnya sintak yang benar adalah :
INSERT INTO M_BARANG (KD_BRG,NM_BRG) VALUES ('B001','barang xx')
Lalu bagaimana caranya agar kutip satu dapat di insert ke database ?
caranya adalah dengan selalu menambahkan single quote jika ada value single quote, coba anda buka query analyzer sql:
Jika anda ingin menampikan data :
A'B
'AB'
AB'
AA''BB'
caranya ?
SELECT 'A''B'
SELECT '''AB'''
SELECT 'AB'''
SELECT 'AA''''BB'''
Hasilnya ?
Lalu bagaimana mem-validasi di VBNET nya ? banyak sekali.............i carannya.
1.Validasi di setiap textbox saat membuat string sql

Sql = "INSERT INTO M_BARANG (KD_BRG,NM_BRG) VALUES ('" + txt_kd.text.Replace("'", "''") + "','" + txt_nm.text.Replace("'", "''") + "')"
2.Validasi di setiap textbox saat event TextChanged atau LostFocus

    Private Sub TextBox1_LostFocus(ByValsender As Object, ByVal e AsSystem.EventArgs) Handles TextBox1.LostFocus
        TextBox1.Text = TextBox1.Text.Replace("'", "''")
    End Sub
3.Validasi saat tombol simpan (looping ke semua object di form)

        For Each obj As TextBox In Me.Controls 'Atau GroupBox1.Controls atau Panel1.Controls (sesuikan saja object container nya)
            If TypeOf obj Is TextBoxThen
                obj.Text = obj.Text.Replace("'", "''")
            EndIf
        Next

Tambahan:
Hal ini juga salah satu cara untuk dapat mencegah dari SQL Injection yang sebelumnya saya bahas pada postingan Form Login.

Tags:
Single quote problems, How to insert text with single quotation sql, SQL Statement to insert a single quote, How to insert strings containing quotes into the database, How to insert any data in table which contain single quote (').How do I insert a single quote ('), How to enter a single quotation mark, cara simpan tanda petik di database, cara memasukkan tanda petik1 & 2 (' ") pada mysql, Kenapa tanda petik satu tidak dapat disimpan, Menampilkan record yang ada tanda kutip satu,

2 komentar untuk "Cara Insert/Save Kutip Satu/Single Quote ( ' ) dan Validasi di VBNET"

  1. makasih. sangat membantu banget !!!

    BalasHapus
  2. Cara Insert/Save Kutip Satu/Single Quote ( ' ) Dan Validasi Di Vbnet - Belajar Vb Net >>>>> Download Now

    >>>>> Download Full

    Cara Insert/Save Kutip Satu/Single Quote ( ' ) Dan Validasi Di Vbnet - Belajar Vb Net >>>>> Download LINK

    >>>>> Download Now

    Cara Insert/Save Kutip Satu/Single Quote ( ' ) Dan Validasi Di Vbnet - Belajar Vb Net >>>>> Download Full

    >>>>> Download LINK hK

    BalasHapus