c#
2010-10-09 3 views 0 likes 
0

Je suis en train de lier des données sql sur textboxes par rapport aux données de lecture de l'étiquette mon code est comme ci-dessous:Sql DataBinding contre la lecture Label/TextBox.text

string sql1 = " select openbal from AccountMast where accname='" + comboBox1.Text + "' and companyID='" + label4.Text + "'"; 
SqlDataAdapter dap1 = new SqlDataAdapter(sql1, con); 
DataSet ds1 = new DataSet(); 
dap1.Fill(ds1); 
for (int p = 0; p < ds1.Tables[0].Rows.Count; p++) 
{ 
    if (label11.Text == "Dr") 
{ 
    txtopenbaldr.Text = Convert.ToString(ds1.Tables[0].Rows[p]["openbal"]); 

} 
    if (label11.Text == "Cr") 
    { 
    txtopenbalcr.Text = Convert.ToString(ds1.Tables[0].Rows[p]["openbal"]); 
    } 
} 


//Label11 Bind by Sql. 

string sql10 = " select obcat from AccountMast where accname='" + comboBox1.Text + "' and companyID='" + label4.Text + "'"; 
    SqlDataAdapter dap10 = new SqlDataAdapter(sql10, con); 
    DataSet ds10 = new DataSet(); 
    dap10.Fill(ds10); 

    for (int p = 0; p < ds10.Tables[0].Rows.Count; p++) 
    { 
     label11.Text = Convert.ToString(ds10.Tables[0].Rows[p]["obcat"]); 
    } 

Le Label11 lié par les données sql et il devrait afficher le texte "Dr" OU "Cr" à la fois.

mais il ne fonctionne pas comme label11.text pas de support pour lier les données sur les zones de texte

J'ai deux zones de texte comme ci-dessous:

Opening Balance/Debit      Opening Balance/Credit 
txtopenbaldr.Text       txtopenbalcr.Text 

Il y a deux zones de texte qui peut Databind sur condition ci-dessus: Rappelez-vous qu'un seul textbox devrait être lié selon la condition. J'essaye l'astuce mais c'est échouer. Suggérez la solution.

+0

(1) Comment 'label11' obtient-il exactement sa valeur? En l'état, vous allez toujours parcourir l'intégralité du jeu de données et assigner 'txtopenbaldr.text' et' txtopenbalcr.text' au dernier enregistrement. Qu'est-ce que vous essayez d'accomplir ici? (2) En utilisant une requête ad-hoc au lieu d'une requête paramétrée, vous vous ouvrez aux attaques par injection SQL si 'label4.Text' peut être défini par l'utilisateur. – LittleBobbyTables

+0

@LittleBobbyTables, Oui je sais que c'est ouvert pour l'injection de sql mais ce n'est pas mon problème je le résoudrai plus tard mais maintenant le problème ci-dessus doit résoudre. Le label11 est databound par table sql et sélectionnez la valeur de la table. – mahesh

+0

@Little, Voir mon edit – mahesh

Répondre

1

Je suppose que vous avez simplement le code joint en annexe label11.text à la fin de votre message, mais en réalité label11.text est assignée avant d'essayer de mettre txtopenbaldr.Text ou txtopenbalcr.Text.

Si tel est le cas, je veillerais que label11.Text a effectivement la valeur Dr ou Cr, et non DR ou CR, les comparaisons seront sensibles à la casse.

+0

Vous êtes wright ça marche maintenant. merci je pense que c'est une grosse, grosse erreur de ma part. je suis accepté votre réponse. – mahesh

Questions connexes