Buon giorno a tutti sto tentando di creare un codice per la mia form,volevo far si che questa funzione leggesse il codice più alto inserito per poi inserire 1 numero in più(es 120+1) e poi farlo comparire in una textbox in modo che poi con il pulsante salva(oltre a salvare gli altri campi) lo andavo a salvare nel database.Pensavo di fare cosi per la realizzazione di questo codice in modo che sia un codice univoco cosi potrò realizzare le altre operazioni legato ad esso(cancellazione,ricerche,modifiche ecc ecc).Cosa ne pensate?Sto tentando di cominciare a fare cosi ma ho intoppato subito in un errore.


codice:
 private void codice()        {
            comando = new SqlCommand();
            conn = new SqlConnection(constr);
            


            conn.Open();


            SqlParameter idbusta = new SqlParameter ("@id",SqlDbType.Int);
            comando.Parameters.Add(idbusta);
            idbusta.Direction = ParameterDirection.Output;
            idBustaTB.Text = idbusta.Value.ToString();


            


            comando.CommandText = "Select max (@id = idBusta) from bustaRiparazione";


            comando.ExecuteNonQuery();
            conn.Close();

errore:

codice:
{"Riferimento a un oggetto non impostato su un'istanza di oggetto."}

Questo è il database

codice:
CREATE TABLE [dbo].[bustaRiparazione] (    [IdBusta]            INT           IDENTITY (1, 1) NOT NULL,
    [codiceBustaCliente] NVARCHAR (10) NULL,
    [cliente]            NCHAR (30)    NULL,
    [dataInserimento]    DATE          NULL,
    [dataConsegna]       DATE          NULL,
    [descrizioneOggetti] NVARCHAR (80) NULL,
    [lavoriDaEseguire]   NVARCHAR (80) NULL,
    [prezzoC]            REAL          NULL,
    [prezzoP]            REAL          NULL,
    [prezzoPreventivo]   REAL          NULL,
    [note]               NVARCHAR (50) NULL,
    PRIMARY KEY CLUSTERED ([IdBusta] ASC)
);