除非指定了 UpdateCommand,否则数据源“SqlDataSource2”不支持更新操作。

Supremer 2009-05-12 07:54:30
GridView的的更新出错,一点更新就出现"除非指定了 UpdateCommand,否则数据源“SqlDataSource2”不支持更新操作。"

下面是我的代码,请详细的告诉我再哪里加,加哪些东西好吗?我是自学的,说的太笼统我也不懂,所以请说详细一些.谢谢了
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Motorola.aspx.cs" Inherits="Motorola" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MOTOROLA</title>
</head>
<body>
<form id="form1" runat="server">
<div>
 <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Data Source=MICROSOF-E0D392;Initial Catalog=ProductExhibitionSystem;Integrated Security=True"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [型号], [样式], [网络], [系统], [摄像头], [蓝牙], [WiFi], [价格] FROM [Motorola]">
</asp:SqlDataSource>
<asp:Menu ID="Menu1" runat="server" Style="z-index: 102; left: 8px; position: absolute;
top: 6px" BackColor="#E3EAEB" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#666666" StaticSubMenuIndent="10px">
<Items>
<asp:MenuItem NavigateUrl="~/HomePage.aspx" Text="首页" Value="首页">
<asp:MenuItem Text="欧美品牌" Value="欧美品牌">
<asp:MenuItem NavigateUrl="~/Nokia.aspx" Text="NOKIA" Value="NOKIA"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Motorola.aspx" Text="MOTOROLA" Value="MOTOROLA"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Apple.aspx" Text="Apple" Value="Apple"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/BlackBerry.aspx" Text="BlackBerry" Value="BlackBerry"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Palm.aspx" Text="Palm" Value="Palm"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/SonyEricsson.aspx" Text="SonyEricsson" Value="SonyEricsson">
</asp:MenuItem>
</asp:MenuItem>
<asp:MenuItem Text="日韩品牌" Value="日韩品牌">
<asp:MenuItem NavigateUrl="~/Samsung.aspx" Text="SAMSUNG" Value="SAMSUNG"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Lg.aspx" Text="LG" Value="LG"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Sharp.aspx" Text="SHARP" Value="SHARP"></asp:MenuItem>
</asp:MenuItem>
<asp:MenuItem Text="国产品牌" Value="国产品牌">
<asp:MenuItem NavigateUrl="~/Dopod.aspx" Text="DOPOD" Value="DOPOD"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Htc.aspx" Text="HTC" Value="HTC"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Meizu.aspx" Text="Meizu" Value="Meizu"></asp:MenuItem>
</asp:MenuItem>
</asp:MenuItem>
</Items>
<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<DynamicHoverStyle BackColor="#666666" ForeColor="White" />
<DynamicMenuStyle BackColor="#E3EAEB" />
<StaticSelectedStyle BackColor="#1C5E55" />
<DynamicSelectedStyle BackColor="#1C5E55" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<StaticHoverStyle BackColor="#666666" ForeColor="White" />
</asp:Menu>
<br />
<br />
<br />
<br />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="None"
BorderWidth="1px" CellPadding="3" DataSourceID="SqlDataSource2" GridLines="Vertical"
OnRowDataBound="GridView1_RowDataBound1" PageSize="5">
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<Columns>
<asp:BoundField DataField="型号" HeaderText="型号" SortExpression="型号" />
<asp:BoundField DataField="样式" HeaderText="样式" SortExpression="样式" />
<asp:BoundField DataField="网络" HeaderText="网络" SortExpression="网络" />
<asp:BoundField DataField="系统" HeaderText="系统" SortExpression="系统" />
<asp:BoundField DataField="摄像头" HeaderText="摄像头" SortExpression="摄像头" />
<asp:BoundField DataField="蓝牙" HeaderText="蓝牙" SortExpression="蓝牙" />
<asp:BoundField DataField="WiFi" HeaderText="WiFi" SortExpression="WiFi" />
<asp:BoundField DataField="价格" HeaderText="价格" SortExpression="价格" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:GridView>

</div>
</form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Motorola : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor;");
}
}

protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor;");
}
}

}
...全文
1578 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
小风扇 2011-08-31
  • 打赏
  • 举报
回复
路过,学习下
Supremer 2009-05-14
  • 打赏
  • 举报
回复
原来在"高级"那里设置自动加入update insert delete语句就可以了 一行代码都不用写.
cppfaq 2009-05-13
  • 打赏
  • 举报
回复
都解答完了........
JF
michael1013 2009-05-13
  • 打赏
  • 举报
回复
用SqlCommandBuilder 这个类,将你的SqlDataAdapter传进去。在有SelectCommand的情况下,会自动生成其它的Command
ylwqhr 2009-05-13
  • 打赏
  • 举报
回复
up
zuoming120 2009-05-13
  • 打赏
  • 举报
回复
顶了再说
阿非 2009-05-13
  • 打赏
  • 举报
回复
阿非 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 Supremer 的回复:]
引用 9 楼 amandag 的回复:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Data Source=MICROSOF-E0D392;Initial Catalog=ProductExhibitionSystem;Integrated Security=True" ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [型号], [样式], [网络], [系统], [摄像头], [蓝牙], [WiFi], [价格] FROM [Motorola]"
UpdateCommand="Update [Motorola] set [型号] = @型号, [样式]…
[/Quote]
UpdateCommand 没写where 都搞定了?
dengyun_1223 2009-05-13
  • 打赏
  • 举报
回复
up
Supremer 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 amandag 的回复:]
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Data Source=MICROSOF-E0D392;Initial Catalog=ProductExhibitionSystem;Integrated Security=True" ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [型号], [样式], [网络], [系统], [摄像头], [蓝牙], [WiFi], [价格] FROM [Motorola]"
UpdateCommand="Update [Motorola] set [型号] = @型号, [样式] = @样式, [网络]=@网络, [系…
[/Quote]
谢谢你,用你的办法搞定了,请你再帮我写个insert和delet的语句,
对了,GridView表格上没有"插入"按钮,要自己写这个按钮吗?
amandag 2009-05-13
  • 打赏
  • 举报
回复
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Data Source=MICROSOF-E0D392;Initial Catalog=ProductExhibitionSystem;Integrated Security=True" ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [型号], [样式], [网络], [系统], [摄像头], [蓝牙], [WiFi], [价格] FROM [Motorola]"
UpdateCommand="Update [Motorola] set [型号] = @型号, [样式] = @样式, [网络]=@网络, [系统]=@系统, [摄像头]=@摄像头, [蓝牙]=@蓝牙, [WiFi]=@WiFi, [价格]=@价格"
>
<UpdateParameters>
<asp:Parameter Name="型号" />
<asp:Parameter Name="样式" />
<asp:Parameter Name="网络" />
<asp:Parameter Name="系统" />
<asp:Parameter Name="摄像头" />
<asp:Parameter Name="蓝牙" />
<asp:Parameter Name="WiFi" />
<asp:Parameter Name="价格" />
<asp:Parameter Name="表的主键" />
</UpdateParameters>
</asp:SqlDataSource>

<GridView ID="GridView1" runat="server" DataKeyNames="表的主键" ...
xuming120 2009-05-13
  • 打赏
  • 举报
回复
在SqlDataSource2里设置高级。生成insert update delete语句,或者在自定义SQL语句或存储过程里。写SQL语句
gyouyang 2009-05-13
  • 打赏
  • 举报
回复
板凳
gu6xing5 2009-05-13
  • 打赏
  • 举报
回复
     <asp:SqlDataSource
id="SqlDataSource1"
ConnectionString="server=;uid=sa;password=;database="
SelectCommand="Select ID,Name from table"
UpdateCommand="Update table set Name=@Name where ID=@ID"
runat="server" ></asp:SqlDataSource>
Supremer 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 koukoujiayi 的回复:]
这个只要设置一下就可以了!!
进入SqlDataSource的设置界面,点"指定自定义Sql语句或存储过程"这项,
就可以定义Select,update,insert,delete语句!!
[/Quote]
具体update insert delete语句怎么写,我已经加分了,谢谢你
koukoujiayi 2009-05-12
  • 打赏
  • 举报
回复
这个只要设置一下就可以了!!
进入SqlDataSource的设置界面,点"指定自定义Sql语句或存储过程"这项,
就可以定义Select,update,insert,delete语句!!
yangjinan0729 2009-05-12
  • 打赏
  • 举报
回复
你就抠吧。。。
赤色火焰 2009-05-12
  • 打赏
  • 举报
回复
你的SqlDataSource只有一个SelectCommand属性,要想修改肯定不行的必需加上UpdateCommand,想能插入的话加InsertCommand属性,还有UpdateCommand或InsertCommand相对应的参数

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧