Disculpa que te lo diga así, pero esto es casi un espanto:
Un importe (Monto), no puede ser TEXT. O es DECIMAL o es FLOAT,
pero jamás es texto.
Y una fecha es un DATE, DATETIME o TIMESTAMP, pero
jamás es un TEXT. Ni en sueños.
Con ese tipo de dato, lo único que lograrás es tener enormes complicaciones cuando debas consultar a la base...
Fuera de eso, una fecha se puede enviar a la base como una cadena de texto, en tanto se respete el formato esperado: AAAA-MM-DD. MySQL lo interpretará como fecha cuando lo inserte en su campo, o bien se le peude hacer una conversión explícita.
En todo caso, la fecha la puedes ingresar manualmente, pero yo en ese caso te sugeriría que le implementaras un modo de validación on-line, como por ejemplo usando JavaScript (supongo que puede haber otros modos mejores), para evitar que metan basura en el TextBox.