2009-10-15 6 views
-1
protected void Page_Load(object sender, EventArgs e) 
{ 
    txtHidden.Text = Request.QueryString["YKcode"]; 
    Display(); 
} 

private void Display() 
{ 
    SqlDataReader reader; 
    SqlConnection con = new SqlConnection("Data Source=Localhost;Initial Catalog=MLC000022;User ID=sa;Password=Adama6DaY; Integrated Security=True"); 
    SqlCommand cmd = new SqlCommand("SELECT " + " dbo.GMYAKU.NAME, " +"FROM " + 
            " dbo.GMYAKU " + " WHERE " + 
            " (dbo.GMYAKU.YKCODE = ('" + txtHidden.Text + "'))",con) ;  
    con.Open(); 
    reader = cmd.ExecuteReader(); 
    if (reader.Read()) 
    { 
     this.TextBox1.Text = reader["NAME"].ToString(); 
    } 
    else 
    {  
     // 読めないので画面を初期化する 
    } 

    cmd.Connection.Close(); 
    cmd.Dispose(); 
    con.Close(); 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string connetionString = null; 
    SqlConnection cnn; 
    SqlCommand cmd; 

    connetionString = ("Data Source=Localhost;Initial Catalog=MLC000022;User ID=sa;Password=redacted; Integrated Security=True"); 

    string strSQL ; 
    strSQL = "UPDATE GMYAKU SET"; 
    strSQL += " NAME = '" + (TextBox1.Text) + "'"; 
    strSQL += " WHERE"; 
    strSQL += " YKCODE= '" + txtHidden.Text + "'"; 
    cnn = new SqlConnection(connetionString); 
    try 
    { 
     cnn.Open(); 
     cmd = new SqlCommand(strSQL, cnn); 
     cmd.ExecuteNonQuery(); 
     cmd.Dispose(); 
     // cnn.Close(); 
     //MessageBox.Show(" ExecuteNonQuery in SqlCommand executed !!"); 
    } 
    catch (Exception ex) 
    { 
     // MessageBox.Show("Can not open connection ! "); 
    } 

    Response.Redirect("Default.aspx"); 
} 
+1

vous pouvez reformater et ajouter un peu de contexte. – seanyboy

+5

vous devriez en lire plus sur l'injection sql http://en.wikipedia.org/wiki/SQL_injection – empi

+3

Vous utilisez un mauvais mot de passe dans votre déclaration de mise à jour. Je pense que le mot de passe correct est "Adama6DaY". Mais vous attrapez silencieusement et jetez l'exception jetée à l'air libre de sorte que vous ne saurez jamais. –

Répondre

0

Il peut être quelque chose d'aussi simple que de ne pas avoir le contrôle dans un panneau de mise à jour pour rafraîchir les nouvelles données, mais sans plus d'informations/contexte, il est impossible de dire

0

Je pense que vous avez besoin pour vérifier la Request.QueryString["YKcode"]; avant d'attribuer la valeur à txthidden.text aime:

 protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!Request.QueryString["YKcode"].equals("") && Request.QueryString["YKcode"]!=null) 
     { 
     txtHidden.Text = Request.QueryString["YKcode"]; 
     Display(); 
     } 
    } 
Questions connexes