如何使用ASP.NET中的gridview从数据库中删除数据 [英] How to delete data from database using gridview in ASP.NET

查看:126
本文介绍了如何使用ASP.NET中的gridview从数据库中删除数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我写的.aspx文件中的代码:



< asp:GridView ID =grdrunat =serverAutoGenerateColumns =false OnRowDataBound =grd_RowDataBoundWidth =100%CssClass =grid-view>

< columns>

< asp:TemplateField HeaderText =公司名称>

< itemtemplate>

< asp:Label ID =lblCompanyNamerunat =serverText ='<%#Eval(CompanyName )%>'>

<% - < asp:标签ID =Label1runat =serverText ='<%#Eval(FromDate,{ 0:dd-MMM-yyyy})%>'>   

< asp:Label ID =Label2runat =serverText ='< %#Eval(ToDate,{0:dd-MMM-yyyy})%>'> - %>



< edititemtemplate> ;

公司名称: < asp:TextBox ID =txtCompanyNamerunat =serverText ='<%# Eval(CompanyName)%>'>

< asp:RequiredFieldValidator ID =rfvCompanyNamerunat =serverControlToVal idate =txtCompanyNameSetFocusOnError =trueErrorMessage =*ValidationGroup =Insurance>
盗窃政策编号: < asp:TextBox ID =txtBurglaryPolicyNumberrunat =serverText ='<% #Eval(BurglaryPolicyNumber)%>'>

< asp:RequiredFieldValidator ID =rfvPolicyNumberrunat =serverControlToValidate =txtBurglaryPolicyNumberSetFocusOnError =trueErrorMessage =* ValidationGroup =Insurance>
盗窃保险额: < asp:TextBox ID =txtBurglaryCoverAmountrunat =serverText ='<% #Eval(BurglaryCoverAmount)%>'>

< asp:RequiredFieldValidator ID =rfvCoverAmountrunat =serverControlToValidate =txtBurglaryCoverAmountSetFocusOnError =trueErrorMessage =* ValidationGroup =Insurance>
消防政策编号: < asp:TextBox ID =txtFirePolicyNumberrunat =serverText ='<% #Eval(FirePolicyNumber)%>'>

< asp:RequiredFieldValidator ID =RequiredFieldValidator1runat =serverControlToValidate =txtFirePolicyNumberSetFocusOnError =trueErrorMessage =* ValidationGroup =Insurance>
火盖金额: < asp:TextBox ID =txtFireCoverAmountrunat =serverText ='<% #Eval(FireCoverAmount)%>'>

< asp:RequiredFieldValidator ID =RequiredFieldValidator2runat =serverControlToValidate =txtBurglaryCoverAmountSetFocusOnError =trueErrorMessage =* ValidationGroup =Insurance>
从日期开始: < asp:TextBox ID =txtFromDaterunat =serverText ='<%# Eval(FromDate)%>'>

< cc1:CalendarExtender ID =CalDaterunat =serverTargetControlID =txtFromDateFormat =MM / dd / yyyy> ;

< asp:RequiredFieldValidator ID =rfvFromDaterunat =serverControlToValidate =txtFromDateSetFocusOnError =trueErrorMessage =*ValidationGroup =Insurance>
To Date: < asp:TextBox ID =txtToDaterunat =serverText ='<%# Eval(ToDate)%>'>

< cc1:CalendarExtender ID =CalendarExtender1runat =serverTargetControlID =txtToDateFormat =MM / dd / yyyy> ;

< asp:RequiredFieldValidator ID =rfvTodaterunat =serverControlToValidate =txtToDateSetFocusOnError =trueErrorMessage =*ValidationGroup =Insurance>






< asp:TemplateField HeaderText =查看/更新>

< itemtemplate>

< asp:ImageButton ID =imgBtnshowrunat =serverCausesValidation =false

CommandArgument ='<%#Eval(InsuranceId)%>'ImageUrl =〜/ Images / buttonedit.pngonclick =imgBtnshow_Click/>



< edititemtemplate>

< asp:ImageButton ID =imgBtnEditrunat =serverCommandArgument ='<%#Eval(InsuranceId)%> ;'ImageUrl =〜/ Images / buttonsave.pngOnClick =imgBtnEdit_ClickValidationGroup =WarehouseUpdate/>

< asp:ImageButton ID =imgBtnCancelrunat =server

ImageUrl =〜/ Images / 1350368827_save_delete.pngonclick =imgBtnCancel_Click/>



< HeaderStyle Width =50px />

< ItemStyle Width =50px/>



< asp:TemplateField HeaderText =删除>

< itemtemplate>

< asp:ImageButton ID =imgBtnDeleterunat =serverCommandArgument ='<%#Eval(InsuranceId)%>'ImageUrl =〜/ Images / buttondelete.pngOnClick =imgBtnDelete_ClickOnClientClick =返回确认('您确定要删除此记录。')/>



<% - ValidationGroup =保险 - %>

< HeaderStyle Width =50pxHorizo​​ntal VerticalAlign =Middle/>

< ItemStyle Width =50pxHorizo​​ntalAlign =中心VerticalAlign =顶部/>









我在.aspx.cs文件中将此代码写入imgBtnDelete_Click事件:





This is my code in .aspx file i write:

<asp:GridView ID="grd" runat="server" AutoGenerateColumns="false" OnRowDataBound="grd_RowDataBound" Width="100%" CssClass="grid-view">
<columns>
<asp:TemplateField HeaderText="Company Name">
<itemtemplate>
<asp:Label ID="lblCompanyName" runat="server" Text='<%# Eval("CompanyName") %>'>
<%-- <asp:Label ID="Label1" runat="server" Text='<%# Eval("FromDate","{0:dd-MMM-yyyy}") %>'>   
<asp:Label ID="Label2" runat="server" Text='<%# Eval("ToDate","{0:dd-MMM-yyyy}") %>'>--%>

<edititemtemplate>

Company Name:<asp:TextBox ID="txtCompanyName" runat="server" Text='<%# Eval("CompanyName") %>'>
<asp:RequiredFieldValidator ID="rfvCompanyName" runat="server" ControlToValidate="txtCompanyName" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">
Burglary Policy Number :<asp:TextBox ID="txtBurglaryPolicyNumber" runat="server" Text='<%# Eval("BurglaryPolicyNumber") %>'>
<asp:RequiredFieldValidator ID="rfvPolicyNumber" runat="server" ControlToValidate="txtBurglaryPolicyNumber" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">
Burglary Cover Amount:<asp:TextBox ID="txtBurglaryCoverAmount" runat="server" Text='<%# Eval("BurglaryCoverAmount") %>'>
<asp:RequiredFieldValidator ID="rfvCoverAmount" runat="server" ControlToValidate="txtBurglaryCoverAmount" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">
Fire Policy Number :<asp:TextBox ID="txtFirePolicyNumber" runat="server" Text='<%# Eval("FirePolicyNumber") %>'>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtFirePolicyNumber" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">
Fire Cover Amount:<asp:TextBox ID="txtFireCoverAmount" runat="server" Text='<%# Eval("FireCoverAmount") %>'>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtBurglaryCoverAmount" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">
From Date :<asp:TextBox ID="txtFromDate" runat="server" Text='<%# Eval("FromDate") %>'>
<cc1:CalendarExtender ID="CalDate" runat="server" TargetControlID="txtFromDate" Format="MM/dd/yyyy">
<asp:RequiredFieldValidator ID="rfvFromDate" runat="server" ControlToValidate="txtFromDate" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">
To Date :<asp:TextBox ID="txtToDate" runat="server" Text='<%# Eval("ToDate") %>'>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtToDate" Format="MM/dd/yyyy">
<asp:RequiredFieldValidator ID="rfvTodate" runat="server" ControlToValidate="txtToDate" SetFocusOnError="true" ErrorMessage="*" ValidationGroup="Insurance">



<asp:TemplateField HeaderText="View/Update">
<itemtemplate>
<asp:ImageButton ID="imgBtnshow" runat="server" CausesValidation="false"
CommandArgument='<%# Eval("InsuranceId") %>' ImageUrl="~/Images/buttonedit.png" onclick="imgBtnshow_Click" />

<edititemtemplate>
<asp:ImageButton ID="imgBtnEdit" runat="server" CommandArgument='<%# Eval("InsuranceId") %>' ImageUrl="~/Images/buttonsave.png" OnClick="imgBtnEdit_Click" ValidationGroup="WarehouseUpdate" />
<asp:ImageButton ID="imgBtnCancel" runat="server"
ImageUrl="~/Images/1350368827_save_delete.png" onclick="imgBtnCancel_Click"/>

<HeaderStyle Width="50px" />
<ItemStyle Width="50px" />

<asp:TemplateField HeaderText="Delete">
<itemtemplate>
<asp:ImageButton ID="imgBtnDelete" runat="server" CommandArgument='<%# Eval("InsuranceId") %>' ImageUrl="~/Images/buttondelete.png" OnClick="imgBtnDelete_Click" OnClientClick="return confirm('Are you sure to delete this Record.')"/>

<%--ValidationGroup="Insurance"--%>
<HeaderStyle Width="50px" Horizontal VerticalAlign="Middle" />
<ItemStyle Width="50px" HorizontalAlign="Center" VerticalAlign="Top" />




And i write this code in .aspx.cs file on imgBtnDelete_Click event:


protected void imgBtnDelete_Click(object sender, ImageClickEventArgs e)
{
    string confirmValue = Request.Form["confirm_value"];
    if (confirmValue == "Yes")
    {
        ImageButton btn = (ImageButton)sender;
        Int64 Id = Convert.ToInt64(btn.CommandArgument);
        InsuranceCompany obj = new InsuranceCompany();
        obj.InsuranceCompanyId = Id;
        int result = obj.InsuranceCompanyDelete(Id);
        if (result > 0)
        {
            string popupScript = "$.prompt('Record Deleted Successfully.');";
            ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "clientScript", popupScript, true);
            fillgrid();
            //Response.Redirect("~/Admin/InsuranceCompany.aspx");
        }
}





我的尝试:



但是这段代码没有删除数据库中的数据,我不知道该怎么做以及我现在知道的。我的代码在哪里出问题。如何解决它。



在这个项目中我们使用存储过程来删除数据和bussinessLogicLayer我们在哪里找到这个



What I have tried:

but this code not delete data from database and i dont know how to do it and what i do know now. where is problem in my code. how to i solve it.

here in this project we use stored procedure to delete data and bussinessLogicLayer where we difine this

推荐答案

.prompt('Record Deleted Successfully。');;
ScriptManager.RegisterClientScriptBlock( this .Page,< span class =code-keyword> this .Page.GetType(), clientScript,popupScript, true );
fillgrid();
// Response.Redirect(〜/ Admin / InsuranceCompany.aspx);
}
}
.prompt('Record Deleted Successfully.');"; ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "clientScript", popupScript, true); fillgrid(); //Response.Redirect("~/Admin/InsuranceCompany.aspx"); } }





我尝试了什么:



但此代码不会从数据库中删除数据而我我不知道该怎么做以及我现在知道什么。我的代码在哪里有问题。如何解决它。



这个项目在这里e使用存储过程删除数据和bussinessLogicLayer我们在哪里



What I have tried:

but this code not delete data from database and i dont know how to do it and what i do know now. where is problem in my code. how to i solve it.

here in this project we use stored procedure to delete data and bussinessLogicLayer where we difine this


Hello Deekshaa,



使用您提供的代码示例,其他程序员无法知道你的InsurranceCompany对象实现了什么。

Hello Deekshaa,

With the code sample you provided, other programmers cannot know what your InsurranceCompany object implements.
 InsuranceCompany obj = new InsuranceCompany();
...
obj.InsuranceCompanyDelete(Id);



我们可以假设您的对象是 InsuranceCompanyDelete 方法实际上是执行必要的步骤来连接到您的数据库并使用您提供的Id执行相应的删除语句。但是,我们只能假设。



建议:



a)确保你实际上是将有效的 Id 传递给 InsuranceCompanyDelete 方法。

b)验证所述方法是否实际连接到您的数据库并执行预期的删除语句。



干杯!


We could assume that your object's "InsuranceCompanyDelete" method is in fact performing the necessary steps to connect to your DB and execute the appropriate delete statement using the "Id" you have provided. But, assume is all we can do.

Suggestions:

a) Make sure you are in fact passing a valid Id to your InsuranceCompanyDelete method.
b) Verify that said method is actually connecting to your DB and executing the expected delete statement.

Cheers!


现在它正在运行,我在这里进行了这些更改: -



在.aspx文件中:



Now it is working, I have made these changes here:-

In .aspx file:

<asp:GridView ID="grd" runat="server" AutoGenerateColumns="False" OnRowDataBound="grd_RowDataBound" Width="100%" CssClass="grid-view" OnRowDeleting="grd_RowDeleting" DataKeyNames="InsuranceId">
 
<asp:TemplateField HeaderText="Delete">
<itemtemplate>
<asp:ImageButton ID="btnDelete" runat="server" AlternateText="Delete" CommandName="Delete" CommandArgument='<%# Eval("InsuranceId") %>' ImageUrl="~/Images/buttondelete.png" CausesValidation="false" >
</itemtemplate>













在.aspx.cs文件中:









In .aspx.cs file:

protected void grd_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
bool IsDeleted = false;
try
{
//int InsuranceId = Convert.ToInt32(grd.DataKeys[e.RowIndex].Value.ToString());
int InsuranceId = Convert.ToInt32(grd.DataKeys[e.RowIndex].Values[0]);
string constr = WebConfigurationManager.ConnectionStrings["WarehouseWebsiteString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("DELETE FROM tblInsuranceCompany WHERE InsuranceId = @InsuranceId"))
{
cmd.Parameters.AddWithValue("@InsuranceId", InsuranceId);
cmd.Connection = con;
con.Open();
IsDeleted = cmd.ExecuteNonQuery() > 0;
con.Close();
}
fillgrid();
}
}
catch(Exception ex)
{}
if (IsDeleted)
{
//record has been deleted successfully!
//call here gridview bind method and replace it..
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Page Succesfully deleted');window.location ='InsuranceCompany.aspx';", true); ;
fillgrid();
}
else
{
}


这篇关于如何使用ASP.NET中的gridview从数据库中删除数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆