2011-08-18 97 views
0

我由具有存储过程以下parameter@UserName存储过程和变量

请问这意味着,在ASP.NET,我会做下面的代码来更新username价值?

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

或者将这个使一个新的参数?如果这只是一个新的parameter,我怎样才能设置Parameter的价值?

+0

你使用的是C#吗? – hunter

回答

1

这将创建一个新的参数。参数是,你可以通过名称访问的集合,所以你可以做这样的事情来更新已有param:

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

+0

非常感谢! – Yuo

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

这是做什么的? – Yuo

+0

使用值向集合添加参数。我可能误解了你的问题。 – hunter

2

你可以做这样的事情dbCommand.Parameters.AddWithValue("@UserName", userName);

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

这些陈述各自做什么? – Yuo

+0

第一个参数添加一个初始值。第二对线添加参数,然后编辑该值。 – jli

0

这取决于具体的实现。以下是一些常见情况:

如果您在标记中使用数据源,那么只需使用该向导来配置数据源,并且它会自动发现您的参数。然后你可以看到它是如何将你的参数添加到你的数据源的标记。

如果您使用的是数据源+代码隐藏功能,您可以按照您在文章中的说明添加参数。只要你还没有数据源标记中的参数,这将会很好。

如果您使用的是数据源+代码隐藏,你可以赋值参数,它已经拥有这样的:.Parameters["@UserName"].defaultvalue = "some value"

如果你不使用一个数据源,并在做代码 - 一切后面,那么你可以这样做:.Parameters.AddWithValue("@UserName", "some value, some text value of a control, etc.")