有关ASP。Net的简单知识,求问一下关于sqldatasource控件问题

sqlDataSource控件里面的updatecommand命令有3个参数,那么这三个参数都不用赋实际值的吗?为什么有的需要赋值,加上patameter之类的参数就可以... sqlDataSource控件里面的updatecommand命令有3个参数,那么这三个参数都不用赋实际值的吗?为什么有的需要赋值,加上patameter之类的参数就可以。有的不需要赋值,也能运行,最后也能更新到数据库?

<body>
<form id="form1" runat="server">
<div>
<asp:FormView ID="FormView1" DataKeyNames="UserID" DataSourceID="srcMovies" DefaultMode="Edit" AllowPaging="true" runat="server">
<EditItemTemplate>
<asp:Label ID="lblUserName" runat="server" Text="UserName"></asp:Label>
<asp:TextBox ID="txtUserName" runat="server" Text='<%#Bind("UserName") %>'></asp:TextBox>
<br />
<asp:Label ID="lblPassword" runat="server" Text="PassWord"></asp:Label>
<asp:TextBox ID="txtPassword" runat="server" Text='<%#Bind("PassWord") %>'></asp:TextBox>
<br />
<asp:Button ID="btnupdate" runat="server" Text="Update" CommandName="Update" />
</EditItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="srcMovies" runat="server"
ConnectionString="Data Source=.;Initial Catalog=SuperMarket;Integrated Security=True;"
SelectCommand="select UserID,UserName,PassWord from User1"
UpdateCommand="update User1 set UserName=@UserName,PassWord=@PassWord where UserID=@UserID"
>
</asp:SqlDataSource>
</div>
</form>
</body>
展开
 我来答
splaybow
2013-04-18 · TA获得超过488个赞
知道小有建树答主
回答量:941
采纳率:0%
帮助的人:727万
展开全部
这么说吧,先看这里,定义了datasourceid和keynames这样可以用数据源关联起来。
<asp:FormView ID="FormView1" DataKeyNames="UserID" DataSourceID="srcMovies" ...

再看
<asp:TextBox ID="txtUserName" runat="server" Text='<%#Bind("UserName") %>'></asp:TextBox>
这个在bind(username)在使用数据源提供的数据。

最后
<asp:SqlDataSource ID="srcMovies" runat="server"
ConnectionString="Data Source=.;Initial Catalog=SuperMarket;Integrated Security=True;"
SelectCommand="select UserID,UserName,PassWord from User1"
UpdateCommand="update User1 set UserName=@UserName,PassWord=@PassWord where UserID=@UserID"
>
</asp:SqlDataSource>
这个定义srcMovies的数据源,并且指定了select语句和update语句,这样绑定时和更新时都有可靠的数据支持。所以更新到数据库肯定可以的。

你说的有的需要赋值,有的不需要赋值是什么意思?
追问
UpdateCommand="update User1 set UserName=@UserName,PassWord=@PassWord where UserID=@UserID"

谢谢,我想说的是这个update命令里面的@UserName,@PassWord,@UserID参数从哪里获取值,应该是分别从那两个textbox控件和datakeynames获取值,可他们没有定义到@UserName,@PassWord,@UserID参数啊?能否讲讲
追答
其实从上面已经可以看得出来了,bind操作时是从数据源的select取值,反过来数据源update的时候,就是从bind里面取值了。
熙熙攘攘693
2013-04-18
知道答主
回答量:1
采纳率:0%
帮助的人:1515
展开全部
<asp:Label ID="lblUserName" runat="server" Text="UserName"></asp:Label>
<asp:TextBox ID="txtUserName" runat="server" Text='<%#Bind("UserName") %>'></asp:TextBox>
<br />
<asp:Label ID="lblPassword" runat="server" Text="PassWord"></asp:Label>

从你写的语句来看,这些控件上都绑值了,有值当然会更新。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式