Code:
Imports System.Data.OleDb
Public Class Entry
Dim gender As String
Dim bytimage() As Byte
Public cnn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AddressBook.mdb")
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
Me.Close()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
With OfdImage
.InitialDirectory = "c:/"
.Filter = "Only Picture With JPG/JPEG/PNG Extension|*.jpg;*.jpeg;*.png"
.FileName = Nothing
End With
If OfdImage.ShowDialog = Windows.Forms.DialogResult.OK Then
MyImage.Image = Image.FromFile(OfdImage.FileName)
MyImage.Tag = OfdImage.FileName
Else
MyImage.Tag = ""
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
If BtnSave.Text = "Save" Then
'for insert the data
If RbMale.Checked Then
gender = "male"
ElseIf RbFemale.Checked Then
gender = "female"
Else
MsgBox("select gender")
End If
cnn.Open()
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = cnn
'cmd.CommandText = "insert into contacts(FirstName, LastName, TempAddress, PerAddress, OfficeAddress, PostCode, PhoneO, PhoneH, PhoneM, Email, Notes, Facebook, BloodGroup, Dob, Gender, Photo) VALUES('" & TxFirstName.Text & "', '" & TxLastName.Text & "', '" & TxTempAddress.Text & "', '" & TxPerAddress.Text & "', '" & TxOfficeAddress.Text & "', '" & TxPostCode.Text & "', '" & TxPhoneO.Text & "', '" & TxPhoneH.Text & "', '" & TxPhoneM.Text & "', '" & TxEmail.Text & "', '" & TxNote.Text & "', '" & TxFaceBook.Text & "', '" & BloodGroup.Text & "', '" & DOB.Text & "', '" & gender & "')"
cmd.CommandText = "insert into contacts([FirstName], [LastName], [TempAddress], [PerAddress], [OfficeAddress], [PostCode], [PhoneO], [PhoneH], [PhoneM], [Email], [Notes], [Facebook], [BloodGroup], [Dob], [Gender], [Photo]) VALUES(@FirstName, @LastName, @TempAddress, @PerAddress, @OfficeAddress, @PostCode, @PhoneO, @PhoneH, @PhoneM, @Email, @Notes, @Facebook, @BloodGroup, @Dob, @Gender, @myimage)"
With cmd.Parameters
.AddWithValue("@FirstName", TxFirstName.Text)
.AddWithValue("@LastName", TxLastName.Text)
.AddWithValue("@TempAddress", TxTempAddress.Text)
.AddWithValue("@PerAddress", TxPerAddress.Text)
.AddWithValue("@OfficeAddress", TxOfficeAddress.Text)
.AddWithValue("@PostCode", TxPostCode.Text)
.AddWithValue("@PhoneO", TxPhoneO.Text)
.AddWithValue("@PhoneH", TxPhoneH.Text)
.AddWithValue("@PhoneM", TxPhoneM.Text)
.AddWithValue("@Email", TxEmail.Text)
.AddWithValue("@Notes", TxNote.Text)
.AddWithValue("@FaceBook", TxFaceBook.Text)
.AddWithValue("@BloodGroup", BloodGroup.Text)
.AddWithValue("@Dob", DOB.Text)
.AddWithValue("@Gender", gender)
' .AddWithValue("@Photo", bytimage)
Try
Dim ms As New System.IO.MemoryStream
Dim bmpImage As New Bitmap(MyImage.Image)
bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
bytimage = ms.ToArray()
ms.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
.AddWithValue("@myimage", bytimage)
End With
cmd.ExecuteNonQuery()
MsgBox("New Record Added")
Else
'for update
If RbMale.Checked Then
gender = "male"
ElseIf RbFemale.Checked Then
gender = "female"
Else
MsgBox("select gender")
End If
Dim i As Integer = Display.DataGridView1.CurrentRow.Index
Dim ID As Integer = Display.DataGridView1.Item(0, i).Value
If cnn.State = ConnectionState.Closed Then
cnn.Open()
End If
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = cnn
cmd.CommandText = "UPDATE contacts SET [FirstName]=@FirstName, [LastName]=@LastName, [TempAddress]=@TempAddress, [PerAddress]=@PerAddress, [OfficeAddress]=@OfficeAddress, [PostCode]=@PostCode, [PhoneO]=@PhoneO, [PhoneH]=@PhoneH, [PhoneM]=@PhoneM, [Email]=@Email, [Notes]=@Notes, [Facebook]=@Facebook, [BloodGroup]=@BloodGroup, [Dob]=@Dob, [Gender]=@Gender, [Photo]=@myimage WHERE ID=" & ID & ""
With cmd.Parameters
.AddWithValue("@FirstName", TxFirstName.Text)
.AddWithValue("@LastName", TxLastName.Text)
.AddWithValue("@TempAddress", TxTempAddress.Text)
.AddWithValue("@PerAddress", TxPerAddress.Text)
.AddWithValue("@OfficeAddress", TxOfficeAddress.Text)
.AddWithValue("@PostCode", TxPostCode.Text)
.AddWithValue("@PhoneO", TxPhoneO.Text)
.AddWithValue("@PhoneH", TxPhoneH.Text)
.AddWithValue("@PhoneM", TxPhoneM.Text)
.AddWithValue("@Email", TxEmail.Text)
.AddWithValue("@Notes", TxNote.Text)
.AddWithValue("@FaceBook", TxFaceBook.Text)
.AddWithValue("@BloodGroup", BloodGroup.Text)
.AddWithValue("@Dob", DOB.Text)
.AddWithValue("@Gender", gender)
' .AddWithValue("@Photo", bytimage)
Try
Dim ms As New System.IO.MemoryStream
Dim bmpImage As New Bitmap(MyImage.Image)
bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
bytimage = ms.ToArray()
ms.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
.AddWithValue("@myimage", bytimage)
End With
cmd.ExecuteNonQuery()
MsgBox("Record Updated")
End If
Display.datarefresh()
Me.Close()
End Sub
Private Sub RbFemale_CheckedChanged(sender As Object, e As EventArgs) Handles RbFemale.CheckedChanged
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
Imports System.Data.OleDb
Public Class Entry
Dim gender As String
Dim bytimage() As Byte
Public cnn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AddressBook.mdb")
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
Me.Close()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
With OfdImage
.InitialDirectory = "c:/"
.Filter = "Only Picture With JPG/JPEG/PNG Extension|*.jpg;*.jpeg;*.png"
.FileName = Nothing
End With
If OfdImage.ShowDialog = Windows.Forms.DialogResult.OK Then
MyImage.Image = Image.FromFile(OfdImage.FileName)
MyImage.Tag = OfdImage.FileName
Else
MyImage.Tag = ""
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
If BtnSave.Text = "Save" Then
'for insert the data
If RbMale.Checked Then
gender = "male"
ElseIf RbFemale.Checked Then
gender = "female"
Else
MsgBox("select gender")
End If
cnn.Open()
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = cnn
'cmd.CommandText = "insert into contacts(FirstName, LastName, TempAddress, PerAddress, OfficeAddress, PostCode, PhoneO, PhoneH, PhoneM, Email, Notes, Facebook, BloodGroup, Dob, Gender, Photo) VALUES('" & TxFirstName.Text & "', '" & TxLastName.Text & "', '" & TxTempAddress.Text & "', '" & TxPerAddress.Text & "', '" & TxOfficeAddress.Text & "', '" & TxPostCode.Text & "', '" & TxPhoneO.Text & "', '" & TxPhoneH.Text & "', '" & TxPhoneM.Text & "', '" & TxEmail.Text & "', '" & TxNote.Text & "', '" & TxFaceBook.Text & "', '" & BloodGroup.Text & "', '" & DOB.Text & "', '" & gender & "')"
cmd.CommandText = "insert into contacts([FirstName], [LastName], [TempAddress], [PerAddress], [OfficeAddress], [PostCode], [PhoneO], [PhoneH], [PhoneM], [Email], [Notes], [Facebook], [BloodGroup], [Dob], [Gender], [Photo]) VALUES(@FirstName, @LastName, @TempAddress, @PerAddress, @OfficeAddress, @PostCode, @PhoneO, @PhoneH, @PhoneM, @Email, @Notes, @Facebook, @BloodGroup, @Dob, @Gender, @myimage)"
With cmd.Parameters
.AddWithValue("@FirstName", TxFirstName.Text)
.AddWithValue("@LastName", TxLastName.Text)
.AddWithValue("@TempAddress", TxTempAddress.Text)
.AddWithValue("@PerAddress", TxPerAddress.Text)
.AddWithValue("@OfficeAddress", TxOfficeAddress.Text)
.AddWithValue("@PostCode", TxPostCode.Text)
.AddWithValue("@PhoneO", TxPhoneO.Text)
.AddWithValue("@PhoneH", TxPhoneH.Text)
.AddWithValue("@PhoneM", TxPhoneM.Text)
.AddWithValue("@Email", TxEmail.Text)
.AddWithValue("@Notes", TxNote.Text)
.AddWithValue("@FaceBook", TxFaceBook.Text)
.AddWithValue("@BloodGroup", BloodGroup.Text)
.AddWithValue("@Dob", DOB.Text)
.AddWithValue("@Gender", gender)
' .AddWithValue("@Photo", bytimage)
Try
Dim ms As New System.IO.MemoryStream
Dim bmpImage As New Bitmap(MyImage.Image)
bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
bytimage = ms.ToArray()
ms.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
.AddWithValue("@myimage", bytimage)
End With
cmd.ExecuteNonQuery()
MsgBox("New Record Added")
Else
'for update
If RbMale.Checked Then
gender = "male"
ElseIf RbFemale.Checked Then
gender = "female"
Else
MsgBox("select gender")
End If
Dim i As Integer = Display.DataGridView1.CurrentRow.Index
Dim ID As Integer = Display.DataGridView1.Item(0, i).Value
If cnn.State = ConnectionState.Closed Then
cnn.Open()
End If
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = cnn
cmd.CommandText = "UPDATE contacts SET [FirstName]=@FirstName, [LastName]=@LastName, [TempAddress]=@TempAddress, [PerAddress]=@PerAddress, [OfficeAddress]=@OfficeAddress, [PostCode]=@PostCode, [PhoneO]=@PhoneO, [PhoneH]=@PhoneH, [PhoneM]=@PhoneM, [Email]=@Email, [Notes]=@Notes, [Facebook]=@Facebook, [BloodGroup]=@BloodGroup, [Dob]=@Dob, [Gender]=@Gender, [Photo]=@myimage WHERE ID=" & ID & ""
With cmd.Parameters
.AddWithValue("@FirstName", TxFirstName.Text)
.AddWithValue("@LastName", TxLastName.Text)
.AddWithValue("@TempAddress", TxTempAddress.Text)
.AddWithValue("@PerAddress", TxPerAddress.Text)
.AddWithValue("@OfficeAddress", TxOfficeAddress.Text)
.AddWithValue("@PostCode", TxPostCode.Text)
.AddWithValue("@PhoneO", TxPhoneO.Text)
.AddWithValue("@PhoneH", TxPhoneH.Text)
.AddWithValue("@PhoneM", TxPhoneM.Text)
.AddWithValue("@Email", TxEmail.Text)
.AddWithValue("@Notes", TxNote.Text)
.AddWithValue("@FaceBook", TxFaceBook.Text)
.AddWithValue("@BloodGroup", BloodGroup.Text)
.AddWithValue("@Dob", DOB.Text)
.AddWithValue("@Gender", gender)
' .AddWithValue("@Photo", bytimage)
Try
Dim ms As New System.IO.MemoryStream
Dim bmpImage As New Bitmap(MyImage.Image)
bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
bytimage = ms.ToArray()
ms.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
.AddWithValue("@myimage", bytimage)
End With
cmd.ExecuteNonQuery()
MsgBox("Record Updated")
End If
Display.datarefresh()
Me.Close()
End Sub
Private Sub RbFemale_CheckedChanged(sender As Object, e As EventArgs) Handles RbFemale.CheckedChanged
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
E sada ako na Entry formi popunim SVAKO TextBox polje kao i jedan GroupBox i idem na Button Save sve je OK, unos bude sačuvan u bazu i sve funkcioniše.
Ali ako propustim popuniti makar jedno polje na formi (bilo koje) javlja se greška sa cmd.ExecuteNonQuery(), kao na slici:

A ja bi hteo kada ispustim popuniti neko polje na formi da dobijem neki MsgBox koji me upozorava da je "potrebno popuniti sva polja", i kada ga potvrdim da ostajem na istoj formi i da imam mogućnost popuniti polja koja sam ispustio (ona uobičajena "procedura").
Probao sam dodati kod ispod ali ne vredi:
Code:
If TxFirstName.Text = "" Or TxLastName.Text = "" Or TxTempAddress.Text = "" Or TxPerAddress.Text = "" Or TxOfficeAddress.Text = "" Or TxPostCode.Text = "" Or TxPhoneO.Text = "" Or TxPhoneH.Text = "" Or TxPhoneM.Text = "" Or TxEmail.Text = "" Or TxNote.Text = "" Or TxFaceBook.Text = "" Or BloodGroup.Text = "" Or DOB.Text = "" Then
MsgBox("Popuni sva polja....", MsgBoxStyle.Critical, "Upozorenje")
Return
End If
If TxFirstName.Text = "" Or TxLastName.Text = "" Or TxTempAddress.Text = "" Or TxPerAddress.Text = "" Or TxOfficeAddress.Text = "" Or TxPostCode.Text = "" Or TxPhoneO.Text = "" Or TxPhoneH.Text = "" Or TxPhoneM.Text = "" Or TxEmail.Text = "" Or TxNote.Text = "" Or TxFaceBook.Text = "" Or BloodGroup.Text = "" Or DOB.Text = "" Then
MsgBox("Popuni sva polja....", MsgBoxStyle.Critical, "Upozorenje")
Return
End If
ILI
Ako nemože ovo, onda postoji li mogućnost da mogu snimiti unos koji nije potpun, znači da snimim podatke koji su upisani bez obzira što nije svako polje na formi popunjeno.
Nadam se da sam dobro objasnio šta bi hteo. Hvala unapred!