i want to delete a selected row from the database.the entries of
database is shown by a gridview and i do
<OnRowDeleting="GridView1_RowDeleting"> in source code.

i select and bind as follows.

string str = "select PNR,CreditCardNumber as 'Credit Card
Number',EmalAddress as 'Email Address',PassengerName as 'Passenger
Name',PassportNumber as 'Passport Number',IPNumber as 'IP Number' from
fraud_db order by PNR";
dbconn dc = new dbconn();

SqlConnection myConnection = new SqlConnection("Data
Source=IT0004493;Initial Catalog=IBE_fraud;User ID = sa ; password =
ecomtest ");//Trusted_Connection = yes;
SqlCommand myCommand = new SqlCommand(str, myConnection);
SqlDataReader myReader = myCommand.ExecuteReader();

GridView1.DataSource = myReader;



now when i click on delete link it calls GridView1_RowDeleting(object
sender, GridViewDeleteEventArgs e) method

can i get the row entries of that row (i mean values of that row )
inside that method? i suppose to delete the row from db using that
entries of row using the query delete * from db where ....
(there is no primaty key in the table.)
is there any other easy way to delete a row from db selected in
please help me.

9 Years
Discussion Span
Last Post by Blackred

What you could do is add DataKeyNames to the GridView and set your table column names in there i.e.

<asp:GridView ID="GridView1" runat="server" 
DataKeyNames="PNR,Credit Card Number,Email Address,Passenger Name,Passport Number,IP Number">

And in your GridView1_RowDeleting you'll be able to build a query like this...

Dim strSql As String = String.Format("DELETE FROM myTable WHERE PNR = {0}, CreditCardNumber {1}, EmalAddress = {2}, PassengerName = {3}, PassportNumber = {4}, IPNumber = {5}", GridView1.DataKeys(e.RowIndex)("PNR"), GridView1.DataKeys(e.RowIndex)("Credit Card Number"), GridView1.DataKeys(e.RowIndex)("Email Address"), GridView1.DataKeys(e.RowIndex)("Passenger Name"), GridView1.DataKeys(e.RowIndex)("Passport Number"), GridView1.DataKeys(e.RowIndex)("IP Number"))
This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.