我的部分.aspx文件内容
<asp:AccessDataSource ID="AccessDataSource1" runat="server" ConflictDetection="CompareAllValues" DataFile="~/App_Data/Database1.mdb" DeleteCommand="DELETE FROM [student] WHERE [id] = ? AND [sname] = ? AND [age] = ? AND [gender] = ?" InsertCommand="INSERT INTO [student] ([id],[sname],[age],[gender]) VALUES (?,?,?,?)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [student]" UpdateCommand="UPDATE [student] SET [id] = ?,[sname] = ?,[age] = ?,[gender] = ? WHERE [id] = ? AND [sname] = ? AND [age] = ? AND [gender] = ?">
<DeleteParameters>
<asp:Parameter Name="original_id" Type="Int16" />
<asp:Parameter Name="original_sname" Type="String" />
<asp:Parameter Name="original_age" Type="Int32" />
<asp:Parameter Name="original_gender" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="id" Type="Int16" />
<asp:Parameter Name="sname" Type="String" />
<asp:Parameter Name="age" Type="Int32" />
<asp:Parameter Name="gender" Type="String" />
<asp:Parameter Name="original_id" Type="Int16" />
<asp:Parameter Name="original_sname" Type="String" />
<asp:Parameter Name="original_age" Type="Int32" />
<asp:Parameter Name="original_gender" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="id" Type="Int16" />
<asp:Parameter Name="sname" Type="String" />
<asp:Parameter Name="age" Type="Int32" />
<asp:Parameter Name="gender" Type="String" />
</InsertParameters>
</asp:AccessDataSource>.......<asp:Button ID = "Button3" runat = "server" onclick = "Button3_Click" Text = "delete"/>我的.aspx.cs文件部分内容
protected void Button3_Click(object sender, EventArgs e)
{
AccessDataSource1.DeleteParameters["original_id"].DefaultValue = this.TextBox1.Text;
AccessDataSource1.DeleteParameters["original_sname"].DefaultValue = this.TextBox2.Text;
AccessDataSource1.DeleteParameters["original_age"].DefaultValue = this.TextBox3.Text;
AccessDataSource1.DeleteParameters["original_gender"].DefaultValue = this.TextBox4.Text;
AccessDataSource1.Delete();
}在AccessDataSource1.Delete();这里出错了,错误是“您已指定 删除 命令比较 SqlDataSource“AccessDataSource1”的所有值,但为 values 传入的字典是空的。请为 删除 传入有效的字典或将模式更改为 OverwriteChanges。”不明白,实际上我就不知道该怎么写书上都没有这部分内容呀。。不懂呀不懂初学,大大们解释的时候能不能尽量说详细一点,谢谢啦O(∩_∩)O~
<asp:AccessDataSource ID="AccessDataSource1" runat="server" ConflictDetection="CompareAllValues" DataFile="~/App_Data/Database1.mdb" DeleteCommand="DELETE FROM [student] WHERE [id] = ? AND [sname] = ? AND [age] = ? AND [gender] = ?" InsertCommand="INSERT INTO [student] ([id],[sname],[age],[gender]) VALUES (?,?,?,?)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [student]" UpdateCommand="UPDATE [student] SET [id] = ?,[sname] = ?,[age] = ?,[gender] = ? WHERE [id] = ? AND [sname] = ? AND [age] = ? AND [gender] = ?">
<DeleteParameters>
<asp:Parameter Name="original_id" Type="Int16" />
<asp:Parameter Name="original_sname" Type="String" />
<asp:Parameter Name="original_age" Type="Int32" />
<asp:Parameter Name="original_gender" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="id" Type="Int16" />
<asp:Parameter Name="sname" Type="String" />
<asp:Parameter Name="age" Type="Int32" />
<asp:Parameter Name="gender" Type="String" />
<asp:Parameter Name="original_id" Type="Int16" />
<asp:Parameter Name="original_sname" Type="String" />
<asp:Parameter Name="original_age" Type="Int32" />
<asp:Parameter Name="original_gender" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="id" Type="Int16" />
<asp:Parameter Name="sname" Type="String" />
<asp:Parameter Name="age" Type="Int32" />
<asp:Parameter Name="gender" Type="String" />
</InsertParameters>
</asp:AccessDataSource>.......<asp:Button ID = "Button3" runat = "server" onclick = "Button3_Click" Text = "delete"/>我的.aspx.cs文件部分内容
protected void Button3_Click(object sender, EventArgs e)
{
AccessDataSource1.DeleteParameters["original_id"].DefaultValue = this.TextBox1.Text;
AccessDataSource1.DeleteParameters["original_sname"].DefaultValue = this.TextBox2.Text;
AccessDataSource1.DeleteParameters["original_age"].DefaultValue = this.TextBox3.Text;
AccessDataSource1.DeleteParameters["original_gender"].DefaultValue = this.TextBox4.Text;
AccessDataSource1.Delete();
}在AccessDataSource1.Delete();这里出错了,错误是“您已指定 删除 命令比较 SqlDataSource“AccessDataSource1”的所有值,但为 values 传入的字典是空的。请为 删除 传入有效的字典或将模式更改为 OverwriteChanges。”不明白,实际上我就不知道该怎么写书上都没有这部分内容呀。。不懂呀不懂初学,大大们解释的时候能不能尽量说详细一点,谢谢啦O(∩_∩)O~
DeleteCommand="DELETE FROM [Tb] WHERE [ID] = ?"
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
这个值是从哪取的?
你输入的时候这些值在数据库里都存在么?