ciao,
il problema è che stai inserendo una stringa in un campo datetime (infatti il messaggio ti dice proprio di questa conversione non riuscita).
Il modo migliore, consigliato anche per evitare problemi di sicurezza classici quando fai concatenazione di stringhe per creare la stringaSQL, è usare i parametri.
Quindi il tuo codice sarebbe corretto scivero in questo modo:
strsql = "INSERT INTO TABELLA (NOME,MESSAGGIO, DATA) VALUES (@nome,@testo,@data)"
ho visto che tu hai una classe "SDS_guest" probabilemte è una "sql data source" quindi ha di sicuro l'insieme "InsertParameters" che appuntoriceve i parametri (i nomi con la chiocciola o con il "?" ) e fa la mappatura:
Me.SDS_guest.InsertParameters.Add(new SqlParameter("@nome",txtTesto.Text);
Me.SDS_guest.InsertParameters.Add(new SqlParameter("@testo",txtTesto.Text);
Me.SDS_guest.InsertParameters.Add(new SqlParameter("@data",DateTime.Now);
Me.SDS_guest.InsertCommand = strsql
Me.SDS_guest.Insert()
la strada dei parametri è sempre la piu' consigliata, e la piu' sicura...
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo