>l'ho già levato, ma da sempre lo stesso errore adesso faccio:
>
>... Matricola = " & TextBox2.Text & " .....
>
>ma da sempre lo stesso errore
ROTFL... POSTA IL CONTENUTO DELLA VARIABILE SQL 
> .... il campo matricola è di tipo numerico
Ho capito, mannaggia, ma tu STAI COMPONENDO UNA STRINGA quindi DEVI CONCATENARE STRINGHE!!!!!!
Il contenuto della variabile stringa sql, costituirà il comando di UPDATE che verrà eseguito sul DBMS.
Quando aggiorni una variabile numerica, il suo valore non deve essere racchiuso tra singoli apici (').
Supponiamo di avere questa tabella:
CREATE TABLE Students(
StudentID int NOT NULL PRIMARY KEY,
FirstName varchar(10) NOT NULL,
LastName varchar(10) NOT NULL,
Age int NOT NULL
);
INSERT INTO Students VALUES(1, 'Lorenzo', 'Benaglia', 35);
INSERT INTO Students VALUES(2, 'David', 'De Giacomi', 25);
Ora supponiamo di aver commesso un errore durante l'inserimento del cognome del primo studente e dell'età del secondo.
Nel primo caso dovrò aggiornare una colonna stringa varchar(10), nel secondo una colonna numerica int.
Vediamo quali comandi dovrò scrivere:
UPDATE Students
SET LastName = 'Memoli'
WHERE StudentID = 1;
UPDATE Students
SET Age = 46
WHERE StudentID = 2;
Vediamo il risultato:
SELECT *
FROM Students;
/* Output:
StudentID FirstName LastName Age
----------- ---------- ---------- -----------
1 Lorenzo Memoli 35
2 David De Giacomi 46
(2 row(s) affected)
*/
Ci siamo? 
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org