ASP.NET GridView 绑定 MySql数据库
16lz
2021-01-22
网上很难找到控件如何绑定MySql数据库,研究了1天终于可以实现了.
先上图片
MySql不能使用MS SQL的语法,因此在添加数据源的时候,需要自行手动添加.具体代码可以参考
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" DataKeyNames="id" Width="389px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" />
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" SortExpression="id" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Score" HeaderText="Score" SortExpression="Score" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
DeleteCommand="DELETE FROM test1 WHERE id = ?;"
InsertCommand="INSERT INTO test1 (Name, Score) VALUES (?, ?);"
SelectCommand="SELECT * FROM test1;"
UpdateCommand="UPDATE test1 SET Name=?, Score=? WHERE id = ?;">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" PropertyName="SelectedValue"
Name="id" Type="Int32" DefaultValue="0" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="id" Type="Int32" DefaultValue="1" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Score" Type="Int32" DefaultValue="0" />
<asp:Parameter Name="id" Type="Int32" DefaultValue="1" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Score" Type="Int32" DefaultValue="0" />
</InsertParameters>
</asp:SqlDataSource>
特别注意"?",在MySql中不支持"@"符号,可能你会以为是"@id"或者"?id",可以传入参数,但实际上我测试是不行的。具体原因我不清楚.
但是通过SqlDataSource控件<SelectParameters><DeleteParameters><UpdateParameters><InsertParameters>这几组参数,
可以对"?"的占位符,进行绑定对应的参数.因此,特别注意在对
<SelectParameters><DeleteParameters><UpdateParameters><InsertParameters>这几组参数的声明顺序,必须保持跟语法一致,
例如:
UpdateCommand="UPDATE test1 SET Name=?, Score=? WHERE id = ?;">对应
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Score" Type="Int32" DefaultValue="0" />
<asp:Parameter Name="id" Type="Int32" DefaultValue="1" />
</UpdateParameters>
顺序是Name,Score,id
其他的应该没有什么东西的,注意的地方可以参考下图
来自:http://blog.csdn.net/lan120576664
更多相关文章
- MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 用$传
- 如果发现自己的mysql没有充分利用CPU该关注那些参数?
- 解析innodb status各项参数
- javaScript怎么实现双向数据绑定
- 使用Directive通过AngularJS使用指令和数据绑定来注入HTML
- 如何将对象作为参数传播给函数?
- 如何在javascript函数中将URL编码为参数?
- 根据循环中的i改变函数中的参数
- 在传递给google.setOnLoadCallback()的函数中使用参数;