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.

11 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 topic 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.