我正在研究各种asp.net页面.
对于内联函数,我确实看到使用了两种不同的格式:
例1:
<p><%Response.Write(now())%></p>
Run Code Online (Sandbox Code Playgroud)
我还看到另一个#:
例2:
<Asp:TextBox id="Textbox5" width="40" Text='<%# DataBinder.Eval(Container.DataItem, "Name") %>' runat="server" />
Run Code Online (Sandbox Code Playgroud)
我想知道确切的不同之处, <%# vs <%
我有一个存储过程,它有3个参数:让我们调用它们@a,@b,@c,所有都是可选的.
在存储过程中,它们使用以下顺序定义: @a,@b,@c
基于我迄今为止的研究,从.NET代码我应该能够以任何顺序调用它们:
例如:
.Add(New OleDbParameter("@c", OleDbType.Integer, 4, ParameterDirection.Input, False, 0, 0, "c", DataRowVersion.Current, c))
.Add(New OleDbParameter("@a", OleDbType.Integer, 4, ParameterDirection.Input, False, 0, 0, "a", DataRowVersion.Current, a))
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,存储过程仍然认为传递的第一个值是a,第二个值是c.
这有什么不对?
我有一个简单的存储过程,需要6个参数.让我们说它们是,@a, @b, @c, @d, @e, @f并且它们都是可选的,默认值为null.
我需要知道如何仅使用其中一些参数调用存储过程.我知道一般步骤:
定义连接并打开它.
定义命令对象
将参数添加到命令对象.
执行命令.
现在@a, @b, @c, @d, @e, @f我每个人都Parameters.Add()用来添加那个参数.
问题是:如果我想要什么调用存储过程只用@a和@f,我需要Add()其他的参数也?或者,如果我只添加2个参数,存储过程将如何知道我提供的参数?