ottengo questo errore
Formato della stringa di inizializzazione non conforme alla specifica
che inizia all'indice 0.
Secondo voi cosa sbaglio in questo codice
private SqlDataSource ChildDataSource(string strCustometId, string
strSort)
{
string strQRY = "";
SqlDataSource dsTemp = new SqlDataSource();
dsTemp.ConnectionString =
"ConnectionStrings:ARETEConnectionString";
strQRY = "";
dsTemp.SelectCommand = strQRY;
return dsTemp;
}
gv.DataSource =
ChildDataSource(((DataRowView)e.Row.DataItem)["ID"].ToString(), strSort);
gv.DataBind();
lo stesso metodo con utilizzo del DB access sembra funzionare
cosa sbaglio?
private AccessDataSource ChildDataSource(string strCustometId, string
strSort)
{
string strQRY = "";
AccessDataSource dsTemp = new AccessDataSource();
dsTemp.DataFile = "App_Data/Northwind.mdb";
strQRY = "SELECT [Orders].[CustomerID],[Orders].[OrderID]," +
"[Orders].[ShipAddress],[Orders].[Freight],[Orders].[ShipName] FROM
[Orders]" +
" WHERE [Orders].[CustomerID] = '" +
strCustometId + "'" + " " + strSort;
dsTemp.SelectCommand = strQRY;
return dsTemp;
}
> Formato della stringa di inizializzazione non conforme alla specifica che
> inizia all'indice 0.
Aaah.. gli errori in italiano.. che bellezza :)
Comunque, a giudicare da questa riga:
> dsTemp.ConnectionString =
> "ConnectionStrings:ARETEConnectionString";
Stai cercando di prendere la connessione da web.config, ma metti tutto in
una stringa, e quindi al motore di ADO.NET arriva proprio la stringa che hai
messo (ConnectionStrings:ARETEConnectionString) che tutto ᅵ fuorchᅵ una
stringa di connessione valida. Prova con
ConfigurationManager.ConnectionStrings["ARETEConnectionString"].ConnectionString
Ciao
--
Alessandro
Phase I.T. C.I.O. - http://www.phaseit.com
UGIdotNET Founding Member - http://www.ugidotnet.org
Blog - http://blogs.ugidotnet.org/box
ASP.NET MVP
https://mvp.support.microsoft.com/profile=C17782C0-2737-42F4-AB87-AD31C701EB21
Non ha senso che un metodo restituisca un controllo Data Source.
Piuttosto:
1. scrivi un Data Access Layer, indipendente dal DB, sfruttando
l'ADO.NET Provider Model che permette di cambiare fonte
dati semplicemente modificando la stringa di connessione
2. usa il costrutto using per liberare le risorse unmanaged (stringhe di
connessione etc..)
3. evita *assolutamente* di concatenare stringhe per creare delle query,
usa invece i parametri
Guarda questo esempio:
http://code.msdn.microsoft.com/ObjectDataSourceNort
--
Matteo Migliore
http://blogs.ugidotnet.org/matteomigliore
> Stai cercando di prendere la connessione da web.config, ma metti tutto
> in una stringa, e quindi al motore di ADO.NET arriva proprio la stringa
> che hai messo (ConnectionStrings:ARETEConnectionString) che tutto ᅵ
> fuorchᅵ una stringa di connessione valida. Prova con
>
> ConfigurationManager.ConnectionStrings["ARETEConnectionString"].ConnectionString
ma dove dovrei metterlo?
Hai ragione... in questo caso stavo cercando di utilizzare un esempio
scaricato per fare alcune prove (nested gridview) ... vorrei solo capire
come gestire due gridview uno dentro l'altro ... e stavo passando dalla
soluzione access a SQL server... potresti dirmi cosa sbaglio nel post
indicato?
Grazie