2016-06-28 20 views
1

Ich brauche die DropDownList ddlReceipt, um den Wert in der Datenbank anzuzeigen. Mein aktueller Code ist unten.Gridvew DropDownList Wert zuweisen

Ich habe das Gefühl, dass mein Code falsch ist auf ddlReceipt.SelectedValue = "toa_receipt"; aber ich bin nicht sicher.

foreach (GridViewRow row in gvCreditCards.Rows) 
     { 
      DropDownList ddlReceipt = row.FindControl("ddlReceipt") as DropDownList; 
      string id = row.Cells[0].Text; 
      SqlConnection con2 = new SqlConnection(conStringTOA); 
      SqlDataAdapter sda2 = new SqlDataAdapter(); 
      SqlCommand cmd2 = new SqlCommand("SELECT toa_receipt FROM toa_CreditCardStatement WHERE id = '" + id + "'"); 
      cmd2.Connection = con2; 
      con2.Open(); 
      ddlReceipt.SelectedValue = "toa_receipt"; 
      con2.Close(); 
     } 

Antwort

1

Sie haben einen guten Teil des Codes verpasst. Sie müssen Daten aus der DB lesen (deshalb erstellen Sie SqlCommand).

//your code 
//SqlDataAdapter sda2 = new SqlDataAdapter();//no need 
SqlCommand cmd2 = new SqlCommand("SELECT toa_receipt FROM toa_CreditCardStatement WHERE id = @id", con2); 
//It is very insecure to concatenate value into SQL string 
//cmd2.Connection = con2; 
//Use parameter instead 
cmd2.Parameters.Add("@id",DbType.VarChar).Value = id; 
con2.Open(); 
using(SqlDataReader r = cmd2.ExecuteReader()){ 
    if(r.Read()){ 
     ddlReceipt.SelectedValue = (string)r["toa_receipt"]; 
    } 
r.Close(); 
} 
con2.Close(); 
+0

DANKE !!! Ich änderte es und es funktionierte perfekt !!!!! – MMoore94

Verwandte Themen