我有一个sqldatasource连接参数,insert参数设置为
INSERT INTO [user_info] ([firstname], [lastname], [age]) VALUES (@firstname, @lastname, @age)
现在我理解@firstname,@ lastname,@ tag是我为其设置值的参数。
我正在使用formview对其进行数据绑定,该表单视图会自动将insertitemtemplate中的文本框与Firstname,lastname和age列绑定。例如,FirstName文本框具有以下属性。
<asp:TextBox ID="firstnameTextBox" runat="server" Text='<%# Bind("firstname") %>' />
现在我怀疑的是,@ firstname变量如何与firstname字段绑定。我没有在任何地方明确使用绑定。说明天我想将插入查询重命名为
INSERT INTO [user_info] ([firstname], [lastname], [age]) VALUES (@fn, @ln, @ag)
我必须进行更改,以便将@fn与FirstName绑定,依此类推。
希望我的问题很明确。
答案 0 :(得分:0)
简答:更改参数名称不会产生连锁反应。更改列名称。
详细解答:在这种情况下,使用Bind(和Eval)进行数据绑定适用于SQL表的列名,而不是参数名。如果您开始使用@fn的第二个INSERT语句,您的Bind将继续使用“firstname”而无需更改。
但是,如果您更新了表并将“firstname”列重命名为“fn”,则不再是这种情况,您现在有2个选择: