[ nebojša992 @ 21.11.2013. 12:05 ] @
Moli bi za pomoć uglavnom iz edukativnih razloga, pa ako je neko raspoložen (a pri tom da ima i malo slobodnog vremena) da mi pokuša pomoći bio bi veoma zahvalan jer nisam iskusan u ovome, a baš mi je stalo da ovo rešim! Naprimer ako imam Entry formu - kompletan kod: 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 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 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! |