public function IsUserValid(pStrNama as string, pStrPass as string) as boolean

Dim dObjConnection as new system.data.sqlclient.sqlconnection
dim dObjCommand as new system.data.sqlclient.sqlcommand
dim dObjTran as system.data.sqlclient.sqltransaction
dim dObjParam as system.data.sqlclient.sql
try
    dObjCommand.CommandText = “select count(*)
from tbuser where nama = @nama and pass =...@pass"

    dObjParam = new system.data.sqlclient.sqlparam
   dObjParam.ParamName ="@nama"
   dObjParam.ParamValue =pStrNama
  
    dObjCommand.Parameters.Add(dObjParam)

    dObjParam = new 
system.data.sqlclient.sqlparam
   dObjParam.ParamName ="@pass"
   dObjParam.ParamValue =pStrPass
   dObjCommand.Parameters.Add(dObjParam)

    dObjConnection.ConnectionString ="...."
    dObjConnection.Open()
    dObjTran = dObjConn.BeginTran()
   
    dObjCommand.Transaction = dObjTran
  return  dObjCommand.ExecuteScalar() = 1
        
  

catch ex as System.Exception
    throw new applicationexecption("Error",ex)
finally
    if dObjTran isnot nothing then
       dObjTran.commit()
       dObjTran.dispose()
    end if

    if dObjCommand isnot nothing then
      dObjCommand.Dispose()
    end if

    if dObjConnection isnot nothing then
       dObjConnection.Close()
      dObjConnection.Dispose()
   end if
end try


end function


Code bug frangki memiliki beberapa kelemahan :
1. menyatukan fungsi ui dengan fungsi dal
    - tidak mendukung unit testing
    - tidak reuse untuk project lain
2. tidak ada configuration management
    - ketika server diubah alamatnya maka applikasi harus dikompilasi ulang
3. tidak ada error handle
    - misal server tidak dapat dihubungi maka hal ini menyebabkan app
      error dan error ini tidak dilog menyebabkan tidak ada postmortem debugging
4. rawan dengan sql injection
5. akan banyak resourceleak

Code saya memiliki beberapa asumsi :
1. untuk .net 2.0
2. untuk database sql server bisa sich untuk yang lain tapi harus pake enlib

  


________________________________
From: Frangky Bunga <[email protected]>
To: [email protected]
Sent: Mon, May 31, 2010 9:38:35 AM
Subject: [programmer-vb] Query di VB.NET

  
Teman-teman yang jagoan VB.NET mohon bantuannya.
 
Biasanya kalau di VB 6, saya lakukan query seperti 
ini:
Teman-teman pasti paham kan coding seperti dibawah ini.
 
Dim rs as new adodb.recordset
Rs.open “select nama,pass
from tbuser where nama = ‘”& txtnama.text &”’
and pass = ‘”& txtPass &”’,cnn,2,2
If rs.recordcount > 0 then
                FormUtama.show
                Unload
me                     
Else
                Msgbox
“User Name atau Password Salah ”
End if
Rs.close
 
 
Bagaimana membuat coding seperti
diatas pada Visual Basic.NET.
 
Terima kasih atas bantuannya.
 
 
 
 
 
 
 


      

Kirim email ke