If you allow users to enter date via a text box control, then you have to constantly worry about the validity of date value and format that they enter. The format that you gave: "19/10/1977" is not recognized as valid date in .net, let alone passing it to the sql. See the example below:
Imports System
Imports System.Globalization
Public Module Module1
Public Sub Main()
Dim datestring AS string = "19/10/1977"
Dim dt AS Date
If Date.TryParse(datestring, dt)
Console.WriteLine("date string is valid")
Else
Console.WriteLine("date string is NOT valid")
End If
End Sub
End Module
The TryParse method will try to converts the specified string representation of a date and time to its DateTime equivalent, and returns a value that indicates whether the conversion succeeded. In your case, it failed. If you change the datestring to "1977/10/19", then it works. But do you have to go to all these troubles?
My advice is use a Calendar control provided by ASP.NET which will automatic return a valid date value that the user picks and can be inserted directly into any sql parameter without fuss. Refer:
asp.net_calender[
^]