2010-08-26 5 views
4

Ma chaîne de connexion est placée dans web.config comme suit.La propriété ConnectionString n'a pas été initialisée

<connectionStrings> 
    <add name="empcon" connectionString="Persist Security Info=False;User ID=sa;Password=abc;Initial Catalog=db5pmto8pm;Data Source=SOWMYA-3BBF60D0\SOWMYA" /> 
</connectionStrings> 

et le code du programme est ...

public partial class empoperations : System.Web.UI.Page 
{ 

    string constr = null; 

    protected void Page_Load(object sender, EventArgs e) 

    { 
     ConfigurationManager.ConnectionStrings["empcon"].ToString(); 
     if (!this.IsPostBack) 
     { 
      fillemps(); 
     } 
    } 
    public void fillemps() 
    { 
     dlstemps.Items.Clear(); 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["empcon"].ConnectionString); 
     con.ConnectionString = constr; 
     SqlCommand cmd = new SqlCommand(); 
     cmd.CommandText = "select * from emp"; 
     cmd.Connection = con; 
     SqlDataReader reader; 
     try 
     { 
      con.Open(); 
      reader = cmd.ExecuteReader(); 
      while (reader.Read()) 
      { 
       ListItem lt = new ListItem(); 
       lt.Text = reader["ename"].ToString(); 
       lt.Value = reader["empno"].ToString(); 
       dlstemps.Items.Add(lt); 
      } 
      reader.Close(); 
     } 
     catch (Exception er) 
     { 
      lblerror.Text = er.Message; 
     } 
     finally 
     { 
      con.Close(); 
     }   

Je suis totalement nouveau pour .... la programmation

je suis en mesure d'exécuter cette application avec er.message dans l'étiquette control comme "la propriété de chaîne de connexion n'a pas été initialisée"

J'ai besoin de récupérer la liste des noms des employés de la table emp dans la base de données dans la liste déroulante et de les montrer à l'utilisateur ...

peut-on s'il vous plaît corriger ...

Répondre

1

Vous n'êtes pas assignez ConfigurationManager.ConnectionStrings["empcon"].ToString(); à string constr

protected void Page_Load(object sender, EventArgs e) 
{ 
    constr = ConfigurationManager.ConnectionStrings["empcon"].ToString(); 
    ... 

va probablement résoudre votre problème pour le moment.

+0

Ou il peut supprimer le con.Connection = constr; line, qui supprime la chaîne de connexion de l'objet Connection. –

+0

hafalir merci beaucoup ... son fixe ... – sowmya

+1

@sowmya Super - alors vous devez cocher la réponse la plus utile pour l'accepter: http://stackoverflow.com/faq#howtoask Merci! – Rup

4

Où vous votre variable en cours d'initialisation constr? On dirait que vous pouvez laisser cette ligne.

aussi: il suffit d'utiliser using

using(SqlConnection con = new SqlConnection(
    ConfigurationManager.ConnectionStrings["empcon"].ConnectionString) 
{ 
    using(SqlCommand cmd = new SqlCommand()) 
    { 
     cmd.Connection = con; 
     //Rest of your code here 
    } 
} 

Side note: Ne pas utiliser Select * From. Appelez vos colonnes: Select empname, empno From...

+0

Pourquoi le vote à la baisse? – AllenG

+0

Vous pouvez également utiliser 'using (SqlCommand cmd = con.CreateCommand())' pour créer un 'SqlCommand' (ou la variante correctement typée pour votre connexion) avec la connexion pré-remplie. Vous devez ensuite définir le texte SQL séparément alors que si vous avez 'new SqlCommand()' vous pouvez également passer le SQL dans le constructeur. – Rup

Questions connexes