Comment passer des variables dans SqlCommand déclaration et les insérer dans la table de base de données

Je suis en train d'écrire un petit programme en C# qui utilise SQL pour stocker des valeurs dans une base de données au moment de l'exécution basée sur la saisie par l'utilisateur.

Le seul problème est que je n'arrive pas à corriger la syntaxe Sql pour passer des variables dans ma base de données.

private void button1_Click(object sender, EventArgs e)
    {
        int num = 2;

        using (SqlCeConnection c = new SqlCeConnection(
            Properties.Settings.Default.rentalDataConnectionString))
        {
            c.Open();
            string insertString = @"insert into Buildings(name, street, city, state, zip, numUnits) values('name', 'street', 'city', 'state', @num, 332323)";
            SqlCeCommand cmd = new SqlCeCommand(insertString, c);
            cmd.ExecuteNonQuery();
            c.Close();
        }

        this.DialogResult = DialogResult.OK;
    }

Dans cet extrait de code, je suis en utilisant toutes les valeurs statiques, sauf pour la variable num qui je suis en train de passer de la base de données.

Lors de l'exécution j'obtiens cette erreur:

A parameter is missing. [ Parameter ordinal = 1 ]

Grâce

InformationsquelleAutor Rupert | 2010-10-30