2011-08-18 4 views
0

I ont fait une procédure stockée qui a les éléments suivants parameter: @UserNameProcédures stockées et variables

Ne serait-ce que cela signifie, dans le ASP.NET, je dois faire le code suivant pour mettre à jour la valeur de username?

dbCommand.Parameters.Add("@UserName", SqlDbType.VarChar).Value = userName; 

Ou serait-ce faire un nouveau paramètre? Si cela ne fait qu'un nouveau parameter, comment puis-je simplement définir la valeur de Parameter?

+0

Utilisez-vous C#? – hunter

Répondre

1

Cela créerait un nouveau paramètre. Les paramètres est une collection que vous pouvez accéder par son nom, de sorte que vous pouvez faire quelque chose comme ceci pour mettre à jour une existante param:

dbCommand.Parameters["@UserName"] = userName;

+0

Merci beaucoup! – Yuo

1
dbCommand.Parameters.Add(new SqlParameter("@UserName", SqlDbType.VarChar) 
    { Value = userName }); 
+0

Qu'est-ce que ça fait? – Yuo

+0

Ajoute un paramètre à la collection avec une valeur. J'ai peut-être mal compris votre question. – hunter

2

Vous pouvez faire quelque chose comme dbCommand.Parameters.AddWithValue("@UserName", userName); ou

dbCommand.Parameters.Add("@UserName", SqlDbType.VarChar); 
dbCommand.Parameters["@UserName"].Value = userName; 
+0

Que font chacune de ces déclarations? – Yuo

+0

Le premier ajoute le paramètre avec une valeur initiale. La deuxième paire de lignes ajoute le paramètre, puis modifie la valeur. – jli

0

Cela dépend de votre mise en œuvre. Voici quelques cas courants:

Si vous utilisez une source de données dans votre balisage, utilisez l'assistant pour configurer votre source de données et il détectera automatiquement votre paramètre. Ensuite, vous pouvez voir comment il ajoute votre paramètre au balisage de votre source de données.

Si vous utilisez une source de données + code-behind, vous pouvez ajouter les paramètres comme vous l'avez dans votre message. Tant que vous n'avez PAS le paramètre dans le balisage de votre source de données, ce sera parfait.

Si vous utilisez une source de données, vous pouvez attribuer + code-behind valeurs des paramètres qu'il a déjà comme ceci: .Parameters["@UserName"].defaultvalue = "some value"

Si vous ne l'utilisez une source de données, et de faire tout code- derrière, alors vous pouvez le faire: .Parameters.AddWithValue("@UserName", "some value, some text value of a control, etc.")