Write a VB.NET program to accept the details of a customer (CName, Contact No, Email_id). Store it in the database with proper validation and display an appropriate message using a message box.

Answer:

Imports System.Data.OleDb

Public Class Form1

    Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\your\CustomerDB.accdb;"

    Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
        Dim cname As String = txtCName.Text
        Dim contactNo As String = txtContactNo.Text
        Dim emailId As String = txtEmailID.Text

        If String.IsNullOrWhiteSpace(cname) Then
            MessageBox.Show("Customer Name cannot be empty!", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        If String.IsNullOrWhiteSpace(contactNo) Then
            MessageBox.Show("Contact Number cannot be empty!", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        If Not IsNumeric(contactNo) OrElse contactNo.Length < 10 Then
            MessageBox.Show("Please enter a valid contact number.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        If String.IsNullOrWhiteSpace(emailId) Then
            MessageBox.Show("Email ID cannot be empty!", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        If Not IsValidEmail(emailId) Then
            MessageBox.Show("Please enter a valid email ID.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        Using conn As New OleDbConnection(connString)
            Try
                conn.Open()

                Dim query As String = "INSERT INTO Customers (CName, ContactNo, EmailID) VALUES (?, ?, ?)"
                Using cmd As New OleDbCommand(query, conn)
                    cmd.Parameters.AddWithValue("?", cname)
                    cmd.Parameters.AddWithValue("?", contactNo)
                    cmd.Parameters.AddWithValue("?", emailId)

                    cmd.ExecuteNonQuery()

                    MessageBox.Show("Customer details saved successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End Using
            Catch ex As Exception
                MessageBox.Show("Error saving customer details: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Using
    End Sub

    Private Function IsValidEmail(email As String) As Boolean
        Try
            Dim addr As New System.Net.Mail.MailAddress(email)
            Return addr.Address = email
        Catch ex As Exception
            Return False
        End Try
    End Function

End Class
Scroll to Top