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.