想用detailsview实现 编辑 删除,新建;
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Data Source=SWEI\SQLEXPRESS;Initial Catalog=shengwei;Persist Security Info=True;User ID=sa;Password=880827"
ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [学号], [班号], [姓名], [性别], [出生日期], [政治面貌] FROM [Student] "
DeleteCommand="DELETE * FROM [Student] WHERE [学号]= ?"
InsertCommand="INSERT INTO [Student] ([学号],[班号],[姓名],[性别],[出生日期],[政治面貌]) VALUES(?,?,?,?,?,?)"
OldValuesParameterFormatString="original_{0}"
UpdateCommand="UPDATE [Student] SET[班号]= ?,[姓名]= ?,[性别]= ?,[出生日期]= ?,[政治面貌]=?,WHERE [学号]= ?">
<DeleteParameters>
<asp:QueryStringParameter Name="?" QueryStringField="studentid" />
</DeleteParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="DetailsView1" Name="班号"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="姓名"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="性别"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="出生日期"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="政治面貌"
PropertyName="SelectedValue" />
</UpdateParameters>
<InsertParameters>
<asp:ControlParameter ControlID="DetailsView1" Name="学号"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="DetailsView1" Name="班号"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="姓名"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="性别"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="出生日期"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="政治面貌"
PropertyName="SelectedValue" Type="String"/>
</InsertParameters>
</asp:SqlDataSource>
点击删除活编辑,新建错误:
'?' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: '?' 附近有语法错误。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[SqlException (0x80131904): '?' 附近有语法错误。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +925466
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800118
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +149
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +149
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +404
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +720
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +75
System.Web.UI.WebControls.DetailsView.HandleDelete(String commandArg) +823
System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +535
System.Web.UI.WebControls.DetailsView.RaisePostBackEvent(String eventArgument) +194
System.Web.UI.WebControls.DetailsView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Data Source=SWEI\SQLEXPRESS;Initial Catalog=shengwei;Persist Security Info=True;User ID=sa;Password=880827"
ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [学号], [班号], [姓名], [性别], [出生日期], [政治面貌] FROM [Student] "
DeleteCommand="DELETE * FROM [Student] WHERE [学号]= ?"
InsertCommand="INSERT INTO [Student] ([学号],[班号],[姓名],[性别],[出生日期],[政治面貌]) VALUES(?,?,?,?,?,?)"
OldValuesParameterFormatString="original_{0}"
UpdateCommand="UPDATE [Student] SET[班号]= ?,[姓名]= ?,[性别]= ?,[出生日期]= ?,[政治面貌]=?,WHERE [学号]= ?">
<DeleteParameters>
<asp:QueryStringParameter Name="?" QueryStringField="studentid" />
</DeleteParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="DetailsView1" Name="班号"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="姓名"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="性别"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="出生日期"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="DetailsView1" Name="政治面貌"
PropertyName="SelectedValue" />
</UpdateParameters>
<InsertParameters>
<asp:ControlParameter ControlID="DetailsView1" Name="学号"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="DetailsView1" Name="班号"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="姓名"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="性别"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="出生日期"
PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="DetailsView1" Name="政治面貌"
PropertyName="SelectedValue" Type="String"/>
</InsertParameters>
</asp:SqlDataSource>
点击删除活编辑,新建错误:
'?' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: '?' 附近有语法错误。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[SqlException (0x80131904): '?' 附近有语法错误。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +925466
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800118
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +149
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +149
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +404
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +720
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +75
System.Web.UI.WebControls.DetailsView.HandleDelete(String commandArg) +823
System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +535
System.Web.UI.WebControls.DetailsView.RaisePostBackEvent(String eventArgument) +194
System.Web.UI.WebControls.DetailsView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
解决方案 »
- 重金求 Kindeditor 编辑器,带上传word,excle,ppt 等附件功能的版本
- 求解释下面的一段JQUERY代码的意思
- #麻烦介绍个开源免费的NOSQL数据库或相关解决方案#
- ASP.NET中让同一个页面不同的文本框回车响应不同的事件
- (各位)。。。能帮我看看,我的这条查询语句错在哪了吗?
- 新手上路,遇害隐藏gridview列出现的问题
- 为什么这样的数字验证方式([-+]?[0-9]+\.?[0-9]+)对输入一位数的时候无效??
- 如何在asp.net页面上加载背景音乐(送20分)
- 触发OnTextChanged事件后,为什么会自动触发按钮的onclick事件?望大虾们指教!行谢过了。
- datagrid如何控制列的宽?!在线等待!
- 多服务器网站 网站迁移服务器问题
- 方法没有采用2个参数的重载
Page Language="C#" AutoEventWireup="true" CodeFile="DemoDetailsView.aspx.cs" Inherits="DemoDetailsView" %><!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>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div align="center">
<asp:DetailsView ID="DetailsView1" runat="server"
AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"
AutoGenerateInsertButton="True" AutoGenerateRows="False" DataKeyNames="学号"
DataSourceID="SqlDataSource1" Height="50px" Width="100%">
<Fields>
<asp:BoundField DataField="学号" HeaderText="学号" ReadOnly="True"
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="政治面貌" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Data Source=SWEI\SQLEXPRESS;Initial Catalog=shengwei;User ID=sa"
ProviderName="System.Data.SqlClient"
SelectCommand="SELECT * FROM [Student] WHERE ([学号]=@学号)"
DeleteCommand="DELETE * FROM [Student] WHERE [学号]= @学号"
InsertCommand="INSERT INTO [Student] ([学号],[班号],[姓名],[性别],[出生日期],[政治面貌]) VALUES(@学号,@班号,@姓名,@性别,@出生日期,@政治面貌)"
OldValuesParameterFormatString="original_{0}"
UpdateCommand="UPDATE [Student] SET[班号]= @班号,[姓名]= @姓名,[性别]= @性别,[出生日期]= @出生日期,[政治面貌]=@政治面貌,WHERE [学号]= @学号"
>
<SelectParameters>
<asp:QueryStringParameter Name="学号" QueryStringField="studentid" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="学号" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="班号" />
<asp:Parameter Name="姓名" />
<asp:Parameter Name="性别" />
<asp:Parameter Name="出生日期" />
<asp:Parameter Name="政治面貌" />
<asp:Parameter Name="学号" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="学号" />
<asp:Parameter Name="班号" />
<asp:Parameter Name="姓名" />
<asp:Parameter Name="性别" />
<asp:Parameter Name="出生日期" />
<asp:Parameter Name="政治面貌" />
</InsertParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
改成:
SelectCommand="SELECT * FROM [Student]"
看有数据不?
能确保数据表中有数据?
<asp:QueryStringParameter CancelSelectOnNullParameter="false" Name="学号" QueryStringField="studentid" />
</SelectParameters>