2013-07-07 11 views
5

Mój kod jest wyświetlić wszystkie dane w GridViewRozwiąż błąd "Właściwość ConnectionString nie została zainicjalizowana."?

kod Web.config jest

<configuration> 
    <connectionStrings> 
    <add name="ConStr" connectionString="DataSource=.;Integrated Security=SSPI;Initial catalog=sshopping"/> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.5"/> 
    <httpRuntime targetFramework="4.5"/> 
    </system.web> 
</configuration> 

To jest zakodowane w klasie zewnętrznej

namespace DBAction 
{ 
    public class ViewAction 
    { 
     public DataSet GetAllData() 
     { 
       SqlCommand cmd = DataConnection.GetConnection().CreateCommand(); 
       cmd.CommandText = "Select UserName,Password,RoleName,EmailID,SecurityQuestion,SecurityAnswer,LastLogin from LoginInfo"; 
       SqlDataAdapter da = new SqlDataAdapter(cmd); 
       DataSet ds = new DataSet(); 
       da.Fill(ds); 
       cmd.Dispose(); 
       DataConnection.CloseConnection(); 
       return ds; 
     } 
    } 
} 

to daje błąd w linii da.Fill(ds) kod do wiązania źródła danych z gridview jest kodowany na stronie ładowania w ten sposób.

DataSet ds = new ViewAction().GetAllData(); 
     gvLoginInfo.DataSource = ds; 
     gvLoginInfo.DataBind(); 

I kod w klasie połączenie danych conectionstring jest

public static SqlConnection GetConnection() 
     { 

      if (con == null) 
      { 
       con = new SqlConnection(); 
       con.ConnectionString = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; 
       con.Open(); 
      } 

      return con; 
     } 

I jeden jeden błąd jest

Exception Details: System.ArgumentException: Keyword not supported: 'datasource'. 

Source Error: 


Line 19:    { 
Line 20:     con = new SqlConnection(); 
Line 21:     con.ConnectionString =ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; 
Line 22:     con.Open(); 
Line 23:    } 
+0

... i masz pusty blok Wyjątek. Sprawdź to przed pójściem do wszystkich tych kłopotów z pytaniem o błąd. –

+0

Czy możesz opublikować ciąg połączenia z pliku web.config? – asafrob

+0

yes sir wysłałem @ asafrob – VJain

Odpowiedz

4

Błąd jest tylko w pliku web.config. Proszę umieścić jedną spację między DataSource w connectionString jako: Data Source. Zatem ciąg połączenia będzie:

"Data Source=.;Integrated Security=SSPI;Initial catalog=sshopping". 
1

Otrzymałem ten sam błąd, nawet po wprowadzeniu wszystkich zmian wymienionych powyżej. A potem mogę zmienić kod w ten sposób:

Moja Web.Config:

<connectionStrings> 
    <add name="conStr" connectionString="Data Source=SomeDS;Initial Catalog=SomeCatalog;User Id=myId;Password=myPass" /> 
</connectionStrings> 

Mój stary Kod:

string ConnectionString = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString; 


     using (var sqlConnection = new SqlConnection(ConnectionString)) 
     { 
      var result= sqlConnection.Query<My_Class>("MY_PROC_NAME", new { count }, commandType: CommandType.StoredProcedure); 
      return result; 
     } 

Moja newCode:

var dt = new DataTable(); 

       using (var cnn = new SqlConnection(ConnectionString)) 
       using (var cmd = new SqlCommand("MY_PROC_NAME", cnn)) 
       { 
        cmd.CommandType = CommandType.StoredProcedure; 

        cnn.Open(); 
        var sqlReader = cmd.ExecuteReader(); 
        if (sqlReader.HasRows) 
         dt.Load(sqlReader); 

        cnn.Close(); 
       } 
       result = dt.DataTableToList<My_Class>(); 

DataTableToList to metoda konwertera, jeśli chcesz ją również udostępnić.

Powiązane problemy