Ai gabim te shfaqet sepse vlera e kutise ne Databaze eshte DBNull [asgje], kurse ndryshorja e tipit String nuk deshiron ta pranoje kete vlere. Duhesh qe vleren DBNull te Databazes para se tja kalosh ndryshores ta kontrollosh nese eshte pavlefshme (DBNull) atehere i kalon ndryshores String nje strig te zbrazet "":
Kodi:
Imports System.Data
Imports System.Data.OleDb
Public Class Form2
'ndryshorja per linkun e databazes
Dim linkuDatabazes = "D:\Baza.mdb"
'ndryshorja publike per lidhjen e databazes me visual basic
'Public lidhja As New OleDb.OleDbConnection("Provider=microsoft.jet.oledb.4.0;data source=" & linkuDatabazes)
Public lidhja As New OleDb.OleDbConnection("Provider=microsoft.jet.oledb.4.0;data source=" & linkuDatabazes)
Dim lexuesiDB As OleDbDataReader
Private Sub Fut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Fut.Click
'vertetimi nese kemi shkruar nje emer
If Trim(txtEmri.Text).Length > 0 Then
'provo ekzekutimin e kodit
Try
'hap lidhjen me databaze
lidhja.Open()
Dim emriTabeles = "tbl_Trans_Temp"
Dim emriKolones = "TEmri"
'ndryshorja me komanden per futjen e emrit ne databaze
Dim komanda As New OleDb.OleDbCommand("INSERT INTO " & emriTabeles & " (" & emriKolones & ") VALUES('" & Trim(txtEmri.Text) & "')", lidhja)
'ekzekuto komanden
komanda.ExecuteNonQuery()
'perfundo lidhjen me databaze
lidhja.Close()
lstEmrat.Items.Clear()
Call lexoRekordetNeListe()
'shfaq nje informacion per ruajtjen e emrit ne databaze
lblInfo.Text = "Emri """ & Trim(txtEmri.Text) & """ u fut ne Databaze!"
'txtIndexi.Text = 0
txtEmri.Text = ""
Catch ex As Exception
'ne rast se ndodh gabim gjate ekzekutimit, shfaqet nje gabim me pershkrim
MessageBox.Show(ex.Message, "Ndodhi nje gabim:", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Else
MessageBox.Show("Emri """ & Trim(txtEmri.Text) & """ ekziston ne Databaze!", "Ndodhi nje gabim:", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
'Else
''nese kutia per futjen e emrit eshte e zbrazet, do te shfaqet nje gabim
'MessageBox.Show("Jeni i verber? Nuk e shifni se mungon emri!", "Ndodhi nje gabim:", MessageBoxButtons.OK, MessageBoxIcon.Warning)
'End If
End Sub
Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
lidhja.Close()
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lstEmrat.Columns.Add("Id", 30)
lstEmrat.Columns.Add("Emri", 140)
lstEmrat.Columns.Add("Sasia", 140)
lstEmrat.View = View.Details
lstEmrat.GridLines = True
lexoIdNeKomboBox()
lexoRekordetNeListe()
lstEmrat.FullRowSelect = True
End Sub
Private Sub lexoIdNeKomboBox()
lidhja.Open()
Dim komanda As New OleDb.OleDbCommand("SELECT * FROM tbl_Emrat", lidhja)
lexuesiDB = komanda.ExecuteReader
While lexuesiDB.Read()
cboID.Items.Add(lexuesiDB("Id"))
End While
lidhja.Close()
End Sub
Private Sub lexoRekordetNeListe()
lidhja.Open()
Dim komanda As New OleDb.OleDbCommand("SELECT * FROM tbl_Trans", lidhja)
lexuesiDB = komanda.ExecuteReader
While lexuesiDB.Read()
Dim emri As String = ""
Dim sasia As String = "0"
If IsDBNull(lexuesiDB("TEmri")) Then
emri = ""
Else
emri = lexuesiDB("TEmri")
End If
If IsDBNull(lexuesiDB("Sasia")) Then
sasia = "0"
Else
sasia = lexuesiDB("Sasia")
End If
futRekordetNeListe(lstEmrat, lexuesiDB("Id"), emri, sasia)
End While
lidhja.Close()
End Sub
Public Sub futRekordetNeListe(ByVal lstEmrat As ListView, ByVal id As Integer, ByVal emri As String, ByVal sasia As String)
Dim rreshtiListes As New ListViewItem
lstEmrat.Items.Add(rreshtiListes)
rreshtiListes.Text = id
rreshtiListes.SubItems.Add(emri)
rreshtiListes.SubItems.Add(sasia)
End Sub
Private Sub lstEmrat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstEmrat.Click
Dim i As Integer
For i = 0 To Me.lstEmrat.Items.Count - 1
If lstEmrat.Items(i).Selected = True Then
txtEmri.Text = lstEmrat.Items(i).SubItems(1).Text
cboID.Text = lstEmrat.Items(i).SubItems(0).Text
Exit For
End If
Next
lblInfo.Text = ""
lstEmrat.Focus()
lstEmrat.FullRowSelect = True
End Sub
Private Sub cboID_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboID.SelectedIndexChanged
lidhja.Open()
Dim komanda As New OleDb.OleDbCommand("SELECT * FROM tbl_Trans WHERE Id=" & cboID.Text & "", lidhja)
lexuesiDB = komanda.ExecuteReader
While lexuesiDB.Read()
Dim emri As String = ""
Dim sSasia As String = "0"
If IsDBNull(lexuesiDB("TEmri")) Then
emri = ""
Else
emri = lexuesiDB("TEmri")
End If
If IsDBNull(lexuesiDB("Sasia")) Then
sSasia = "0"
Else
sSasia = lexuesiDB("Sasia")
End If
txtEmri.Text = emri
sasia.Text = sSasia
End While
lidhja.Close()
End Sub
End Class
Krijoni Kontakt