2011-02-23 7 views
0
Line 51: cmd.Parameters.Add("@bprc", SqlDbType.Int).Value = Convert.ToInt32(TextBox4.Text); 
Line 52: cmd.Parameters.Add("@bcat", SqlDbType.VarChar, 50).Value = DropDownList1.SelectedValue; 
Line 53: cmd.Parameters.Add("@bimg", SqlDbType.VarChar, 50).Value = fn; 
Line 54: cmd.Parameters.Add("@bdsc", SqlDbType.VarChar, 500).Value = TextBox6.Text; 
Line 55: cmd.ExecuteNonQuery(); 
+1

pouvez-vous expliquer votre problème? – Adeel

+0

Où est 'fn' déclaré? Pouvez-vous poster ce code? – decyclone

Répondre

2

Il semble que vous ayez déclaré la variable fn mais que vous ne l'avez pas initialisée. Déboguer, si vous définissez vraiment n'importe quelle valeur à fn, cela aidera.

1

Cela se produit si vous déclarez une variable, mais ne l'attribuez à rien. Par exemple, si vous aviez les éléments suivants:

int myInt; 
return Math.Min(0, myInt); 

Ensuite, le compilateur signale une deuxième ligne d'erreur que vous avez essayé d'utiliser myInt, mais vous ne donnez pas une valeur.

Notez que vous obtiendrez cette erreur même si seulement 1 potentiels résultats de chemin en myInt pas définie, par exemple:

bool myBool = true; 
int myInt; 
if (myBool) 
{ 
    myInt = 1; 
} 
return Math.Min(0, myInt); 

La solution consiste à initialiser fn à une valeur raisonnable à un moment donné avant ligne 53, ou assurez-vous qu'il est défini sur une certaine valeur pour tous les chemins de code possibles:

string fn = null; // (assuming `fn` is a string) 
Questions connexes