Die ConnectionString-Eigenschaft wurde nicht initialisiert sqlcommand noch code funktioniert immer noch

Ich war schon immer ein fan von "if it ain' T broke, dont fix it"
aber mein code zwar funktionieren, wirft die connectionstring-Eigenschaft wurde nicht initialisiert Nachricht. ähnliche Beiträge vorschlagen, den conneciton-string ist null - - - - also habe ich ein if IsNullOrEmpty um meine Verbindung öffnen. das ist die Linie, die das werfen der Ausnahme. Hinweis: die Verbindungszeichenfolge wurde retreived aus einer Datenbank des connection strings. dies ist die c# - code-behind-Datei für eine .aspx-Seite. Vielen Dank im Voraus für etwaige Vorschläge bezüglich der Ursache der Ausnahme.

code:

using (SqlConnection sconn = new SqlConnection(someconnectionstring.Value.ToString()))
        {
            using (SqlCommand scmd = new SqlCommand("mydb.[dbo].[myStoredProc]", sconn))
            {
                scmd.CommandType = CommandType.StoredProcedure;
                scmd.Parameters.Add("@valueX", SqlDbType.VarChar).Value = 2; 
                scmd.Parameters.Add("@returnValue", SqlDbType.Int);
                scmd.Parameters["@returnValue"].Direction = ParameterDirection.Output;
        //testing for null as suggested...
        if (!string.IsNullOrEmpty(sconn.ToString()) || sconn.ToString() != "")   //the ||  != "" may be double work.. not sure
                {
                    sconn.Open();  //code throw exception here but continues to work.
                    SqlDataReader adar = scmd.ExecuteReader();
                    if (adar.HasRows)
                    {

                        while (adar.Read())
                        {
                            hiddenfieldX.Value = adar["valueX"].ToString();
            ...
                        }
                        sconn.Close();
                    }
                }
            }
        }
    }
    catch (SqlException er)
    {
    //The ConnectionString property has not been initialized thrown here
    } 
was ist der Wert von someconnectionstring.Value?
Können Sie klären, was Sie meinen ", wirft Ausnahme, sondern weiter zu arbeiten"? Sicherlich, wenn eine Ausnahme geworfen wird, Ihre SqlDataReader-code ist ganz übersprungen, und es deshalb nicht funktioniert? Ist es ein sporadisch auftretender Fehler?
sconn.ToString() nie null oder leer. Vielleicht sconn.ConnectionString je nachdem, was someconnectionstring.Value.ToString() ist.

InformationsquelleAutor T3.0 | 2013-05-03

Schreibe einen Kommentar