'referencimi me permbajtjen e adapterit per lidhjen me databaze
Imports System.Data
Public Class Form1
'deklarimi i objektit lidhes per databaze
Dim lidhja_databazes As New OleDb.OleDbConnection
Dim komunikuesi_dhenave As OleDb.OleDbDataAdapter
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'vlerat e objektit te lidhjes me provajderin e lidhjes dhe linkun ku gjindet databaza
lidhja_databazes.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & Application.StartupPath & "\Numrat.mdb"
'hapja e lidhjes
lidhja_databazes.Open()
'deklarimi i variables per fotografi
Dim fotografia_ime As Bitmap
'linku ku gjindet fotografia
fotografia_ime = New Bitmap(Application.StartupPath & "\fotografia_ime.png")
'referencimi i variables me fotografi ne picturebox qe shfaq foton ne forme
PictureBox1.Image = fotografia_ime
End Sub
'metoda kur shtypet butoni kerkimi
Private Sub cmdKerkimi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKerkimi.Click
'deklarimi i variables per instrukcionin e SQL
Dim teksti_sql As String
'deklarimi i variables per mbajtjen e klientit
Dim rreshti_dhenave As DataRow
'deklarimi i objektit qe do mban databazen ne memorje
Dim seti_dhenave As New DataSet
'deklarimi i variables qe mban rezultatin e instrukcionit Select Case
Dim tekstiKerkuar As Boolean
'zbrazja e listboxit sahere qe shtypet butoni kerkimi
ListBox1.Items.Clear()
'fillojme me instrukcionin select case, me fjale tjera kontrollojme rastet se cili textbox
'eshte i zbrazet apo permban tekst nga perdoruese per te kerkuar
Select Case tekstiKerkuar
Case txtEmri.Text = ""
'instrukcioni sql, selekto nga tabela numrat ku emri i klientit eshe i njejte
'me tekstin e shenuar ne tekstboxin txtEmri.Text
teksti_sql = "SELECT * FROM Numrat WHERE Emri like '" & txtEmri.Text & "%'"
'kalimi i argumenteve ne metoden vijuese e cila i vendos klientet ne listbox
fusha_textit(teksti_sql, seti_dhenave, rreshti_dhenave)
Case txtMbiemri.Text = ""
'instrukcioni sql, selekto nga tabela numrat ku mbiemri i klientit eshe i njejte
'me tekstin e shenuar ne tekstboxin txtMbiemri.Text
teksti_sql = "SELECT * FROM Numrat WHERE Mbiemri like '" & txtMbiemri.Text & "%'"
'kalimi i argumenteve ne metoden vijuese e cila i vendos klientet ne listbox
fusha_textit(teksti_sql, seti_dhenave, rreshti_dhenave)
Case txtTelefoni.Text = ""
'instrukcioni sql, selekto nga tabela numrat ku Telefoni i klientit eshe i njejte
'me tekstin e shenuar ne tekstboxin txtTelefoni.Text
teksti_sql = "SELECT * FROM Numrat WHERE Telefoni like '" & txtTelefoni.Text & "%'"
'kalimi i argumenteve ne metoden vijuese e cila i vendos klientet ne listbox
fusha_textit(teksti_sql, seti_dhenave, rreshti_dhenave)
Case txtAdresa.Text = ""
'instrukcioni sql, selekto nga tabela numrat ku Adresa i klientit eshe i njejte
'me tekstin e shenuar ne tekstboxin txtAdresa.Text
teksti_sql = "SELECT * FROM Numrat WHERE Adresa like '" & txtAdresa.Text & "%'"
'kalimi i argumenteve ne metoden vijuese e cila i vendos klientet ne listbox
fusha_textit(teksti_sql, seti_dhenave, rreshti_dhenave)
Case Else
'instrukcioni sql, selekto nga tabela numrat te gjithe klientet
teksti_sql = "SELECT * FROM Numrat"
'kalimi i argumenteve ne metoden vijuese e cila i vendos klientet ne listbox
fusha_textit(teksti_sql, seti_dhenave, rreshti_dhenave)
End Select
'shkatrrimi i objektit seti i klienteve
seti_dhenave = Nothing
End Sub
'metoda qe shfaq klientet e zgjidhur me komanden sql ne textbox
Private Sub fusha_textit(ByVal teksti_sql, ByVal seti_dhenave, ByVal rreshti_dhenave)
'lidhjen e komunikimit mes instrukcionit sql me objektin lidhes te databazes
komunikuesi_dhenave = New OleDb.OleDbDataAdapter(teksti_sql, lidhja_databazes)
'mbushja e objektit me klienta prej tabeles Numrat
komunikuesi_dhenave.Fill(seti_dhenave, "Numrat")
'udhezimi qe per qdo klient qe gjindet ne setin e klienteve
For Each rreshti_dhenave In seti_dhenave.Tables("Numrat").Rows
'futet ne listbox
ListBox1.Items.Add(rreshti_dhenave.Item(0) & vbTab & vbTab & rreshti_dhenave.Item(1) & vbTab & vbTab & rreshti_dhenave.Item(2) & vbTab & vbTab & rreshti_dhenave.Item(3))
Next
End Sub
'Metoda kur shtypet butoni1 me tekstin "A B C"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'kalimi te metoda proceso_butonin me tekstin e butonit si argument
proceso_butonin(Button1.Text)
'kalimi te metoda zbrazja e fushave, inicializimi i fushave te tekstit per kerkim
zbrazi_fushat()
End Sub
'Metoda kur shtypet butoni2 - shiqo butonin1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
proceso_butonin(Button2.Text)
zbrazi_fushat()
End Sub
'Metoda kur shtypet butoni3 - shiqo butonin1
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
proceso_butonin(Button3.Text)
zbrazi_fushat()
End Sub
'Metoda kur shtypet butoni4 - shiqo butonin1
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
proceso_butonin(Button4.Text)
zbrazi_fushat()
End Sub
'Metoda kur shtypet butoni5 - shiqo butonin1
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
proceso_butonin(Button5.Text)
zbrazi_fushat()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
proceso_butonin(Button6.Text)
zbrazi_fushat()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
proceso_butonin(Button7.Text)
zbrazi_fushat()
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
proceso_butonin(Button8.Text)
zbrazi_fushat()
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
proceso_butonin(Button9.Text)
zbrazi_fushat()
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
proceso_butonin(Button10.Text)
zbrazi_fushat()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
proceso_butonin(Button11.Text)
zbrazi_fushat()
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
proceso_butonin(Button12.Text)
zbrazi_fushat()
End Sub
'metoda pasi qe te shtypet butoni psh. "A B C",
'e cila ndan tekstin e butonit ne shkronjat qe permban
Private Sub proceso_butonin(ByVal teksti_butonit As String)
'deklarimi i nje numruesi
Dim numrues As Integer
'deklarimi i nje array te dynamik njedimensional qe do te mbaje shkronjat e ndara
Dim shkronja_butonit() As String
'zbrazja e listboxit
ListBox1.Items.Clear()
'ndarja e tekstit te butonit me zbraztiren " " si delimiter dhe futja e shkronjave ne array
shkronja_butonit = Split(teksti_butonit, " ")
'per cdo shkronje prej indexit o deri ne fund te arrayt
For numrues = 0 To UBound(shkronja_butonit)
'nese shkronja nuk eshte e barabarte me "", apo nuk eshte asgje
If shkronja_butonit(numrues) <> "" Then
'kalo te metoda tjeter me argumente per procesim te metutjeshem
klientet_si_buton(shkronja_butonit(numrues))
End If
Next numrues
End Sub
'metoda qe per cdo shkronje te marrur nga metoda e mehereshme shfaq klientet ne listbox
Private Sub klientet_si_buton(ByVal shkronja_butonit As String)
'deklarimi i variables per mbajtjen e instruksionit sql
Dim teksti_sql As String
'deklarimi i variables per mbajtjen e klientit aktual
Dim klienti_te_vendoset As String
'deklarimi i variables per mbajtjen e klientit ne set
Dim rreshti_dhenave As DataRow
'nje variabel per nje numrues
Dim numruesi As Integer
'deklarimi i variables per mbajtjen databazes ne nje set
Dim seti_dhenave As New DataSet
'instrukcioni sql qe selekton te gjithe klientet ku emri i tyre fillon me njeren nga
'shkronjat e butonit
teksti_sql = "SELECT * FROM Numrat WHERE Emri like '" & shkronja_butonit & "%'"
'lidhjen e komunikimit mes instrukcionit sql me objektin lidhes te databazes
komunikuesi_dhenave = New OleDb.OleDbDataAdapter(teksti_sql, lidhja_databazes)
'mbushja e objektit me klienta prej tabeles Numrat
komunikuesi_dhenave.Fill(seti_dhenave, "Numrat")
'per secilin rresht ne setin e te dhenave ne memorje
For Each rreshti_dhenave In seti_dhenave.Tables("Numrat").Rows
'klienti aktual sipas setit te klienteve
klienti_te_vendoset = rreshti_dhenave.Item(0) & vbTab & vbTab & rreshti_dhenave.Item(1) & vbTab & vbTab & rreshti_dhenave.Item(2) & vbTab & vbTab & rreshti_dhenave.Item(3)
'shuma e klienteve ne listbox
numruesi = ListBox1.Items.Count
'nese shuma e klienteve ne listbox eshte me e madhe se zero
' nese ekzistojne kliente ne listbox
If numruesi > 0 Then
'nese pas rezultatit te funksionit eshte FALSE
'tejkalimi ne funksionin ku behet krahasimi i listboxit me argumente
If krahasimi_listboxit(ListBox1, numruesi, klienti_te_vendoset) = False Then
'vendose klientin aktual ne listbox
ListBox1.Items.Add(klienti_te_vendoset)
End If
'nese nuk ekzistojne kliente ne listbox
Else
'vendose klientin aktual ne listbox
ListBox1.Items.Add(klienti_te_vendoset)
End If
Next rreshti_dhenave
'shkatrrimi i variables qe mban setin e te dhenave momentale
seti_dhenave = Nothing
End Sub
'funksioni ku behet krahasmi i klientit aktual me klientet ne listbox
'nese ne listbox ekzistojne kliente per te krahasuar
Private Function krahasimi_listboxit(ByVal Listbox1 As ListBox, ByVal numruesi As Integer, ByVal klienti_te_vendoset As String) As Boolean
'deklarimi i numruesit te rendomte dhe inicializimi i tij me vleren 0
Dim numruesi_tjeter As Integer = 0
'inicializimi i funksionit me FALSE
krahasimi_listboxit = False
'per cdo kliente ne listbox, numruesi_tjeter nga metoda e meparshme duhet te zbritet me -1
'sepse nuk do te perputhet me indexin e listboxit, psh. variabla e listboxit eshte nje,
'qe listboxi permban nje klient, indexi i tij nuk do te jete 1 por 0,
'sepse teksti i vtem ne listbox ka indexin 0
For numruesi = 0 To numruesi_tjeter - 1
'nese klienti ne listbox ese i barabarte me klientin aktual atehre
If Listbox1.Items.Item(numruesi_tjeter).ToString = klienti_te_vendoset Then
'funksioni merrvleren TRUE dhe e kthen ne metoden e meparshme
krahasimi_listboxit = True
'dalja nga instrukcioni FOR sepse tani i gjithe funksioni eshte TRUE
'psh. nese klienti aktual eshte i barabarte me klientin e pare atehere '
'edhe nese eshte i pabarabarte me klientet tjere ne listbox duhet te kete vleren TRUE
Exit For
End If
Next numruesi
End Function
'metode qe zbraz fushat e texteve per kerkim
Private Sub zbrazi_fushat()
'instancimi i tekstboxave ne ""/asgje
txtEmri.Text = ""
txtMbiemri.Text = ""
txtTelefoni.Text = ""
txtAdresa.Text = ""
End Sub
'metoda kur shtypet nje textbox, textboxat tjere zbrazen
Private Sub txtEmri_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtEmri.KeyDown
txtMbiemri.Text = ""
txtTelefoni.Text = ""
txtAdresa.Text = ""
End Sub
'metoda kur shtypet nje textbox, textboxat tjere zbrazen
Private Sub txtMbiemri_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtMbiemri.KeyDown
txtEmri.Text = ""
txtTelefoni.Text = ""
txtAdresa.Text = ""
End Sub
'metoda kur shtypet nje textbox, textboxat tjere zbrazen
Private Sub txtTelefoni_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTelefoni.KeyDown
txtEmri.Text = ""
txtMbiemri.Text = ""
txtAdresa.Text = ""
End Sub
'metoda kur shtypet nje textbox, textboxat tjere zbrazen
Private Sub txtAdresa_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtAdresa.KeyDown
txtEmri.Text = ""
txtMbiemri.Text = ""
txtTelefoni.Text = ""
End Sub
'metoda kur shtypet butoni dalja
Private Sub cmdEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEnd.Click
'perfundon aplikacionin
End
End Sub
'metoda kur shtypet menyja "About"
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
'nje messagebox / informacion rreth aplikacionit
MsgBox("Jemi ende duke e mallterisat!", MsgBoxStyle.Information, "Rreth nesh!")
End Sub
End Class
Krijoni Kontakt