asp:SqlDataSource 需要添加命名控件 using System.Web.UI.WebControls;
如果 SelectCommand 属性包含参数化 SQL 查询,则 SelectParameters 集合将包含与 SQL 字符串中的参数占位符相对应的所有 Parameters 对象。根据 ADO.NET 提供程序的不同,SelectParameters 集合中参数的顺序可能很重要。System.Data.OleDb 和 System.Data.Odbc 提供程序根据集合中的参数在参数化 SQL 查询中出现的顺序关联这些参数。 System.Data.SqlClient 提供程序(它是 SqlDataSource 控件的默认 ADO.NET 提供程序)通过将参数名称与 SQL 查询中的占位符别名匹配来关联此集合中的参数。
服务器控件:
<asp:SqlDataSource ID = "DYworktime" runat = "server"
ConnectionString="<%$ ConnectionStrings:Production_ManagementConnectionString %>"
SelectCommand="SELECT GoodsNum AS 生产批号, var1 AS 列1别名,... FROM tablename WHERE (GoodsNum = @shengchanpihao)">
<SelectParameters>
<asp:ControlParameter ControlID="Label27" Name="shengchanpihao"
PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>
注:在实例对应的值
1)Name为sqlString中的输入变量@shengchanpiha的名字;
2)ControlID为参数值的来源(实例中为控件,可以程序变量、用户标识或用户选择的值)的id;
3)PropertyName以指定包含参数值的属性;
3)where 条件中不能用别名做判断,运行时会显示,此列名无效
input控件:
<asp:SqlDataSource ID = "lailiaoshenchan" runat = "server"
ConnectionString = "<%$ ConnectionStrings:Production_ManagementConnectionString %>"
SelectCommand = "select ShengchanNum from Lailiao_Shengchan where LailiaoNum = @lailiao">
<SelectParameters>
< asp:FormParameter FormField="LailiaoNum" Name="lailiao" />
</SelectParameters>
</asp:SqlDataSource>
注:若红色、蓝色部分用错,会显示错误“找不到**控件”;