Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Formato della stringa di inizializzazione non conforme alla specifica che inizia all'indice 0.

578 views
Skip to first unread message

Lucia

unread,
May 24, 2009, 5:50:05 PM5/24/09
to
Ciao a tutti,

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;

}

Alessandro Ghizzardi [MVP]

unread,
May 25, 2009, 4:20:45 AM5/25/09
to
Ciao Lucia,

> 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

Matteo Migliore

unread,
May 25, 2009, 4:25:41 AM5/25/09
to
> lo stesso metodo con utilizzo del DB access sembra funzionare
>
> cosa sbaglio?


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

Lucia

unread,
May 25, 2009, 5:41:08 PM5/25/09
to
Grazie per l'aiuto

> 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?

Lucia

unread,
May 25, 2009, 5:47:46 PM5/25/09
to
Matteo Migliore ha scritto:

>> lo stesso metodo con utilizzo del DB access sembra funzionare
>>
>> cosa sbaglio?
>
>
> Non ha senso che un metodo restituisca un controllo Data Source.

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

0 new messages