Your nested loops are off by one. Use this standard bubble sort fix:
Dim arr() As Integer = {5, 1, 4, 2, 8} Dim i, j, temp As Integer For i = 0 To arr.Length - 2 For j = 0 To arr.Length - 2 - i If arr(j) > arr(j + 1) Then temp = arr(j) arr(j) = arr(j + 1) arr(j + 1) = temp End If Next Next
' Step 2: SQL Query (Use Parameters to avoid SQL Injection and quote errors) Dim query As String = "INSERT INTO Students ([Name], [Age], [Course]) VALUES (?, ?, ?)" Dim cmd As New OleDbCommand(query, conn) vb net lab programs for bca students fix
Wrong:
' Correct Procedure Sub Swap(ByRef x As Integer, ByRef y As Integer) Dim temp As Integer temp = x x = y y = temp End Sub ' Button Click Event Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim num1 As Integer = Val(TextBox1.Text) Dim num2 As Integer = Val(TextBox2.Text) Swap(num1, num2) ' Now this modifies the original variables TextBox1.Text = num1 TextBox2.Text = num2 End Sub Your nested loops are off by one
You must use ByRef (not ByVal ) in your procedure.
Ensure you add the first two terms before the loop. Never put them inside. 2. Program: Swap Two Numbers (Using ByRef) Common Problem: The swap doesn't work; numbers remain unchanged after calling the function. Never put them inside
Try conn.Open() Dim rowsAffected As Integer = cmd.ExecuteNonQuery() If rowsAffected > 0 Then MessageBox.Show("Record inserted successfully!", "Success") ' Clear form or reload data grid End If Catch ex As Exception MessageBox.Show("Error: " & ex.Message, "Database Error") Finally If conn.State = ConnectionState.Open Then conn.Close() cmd.Dispose() conn.Dispose() End Try End Sub