Frmato della stringa di inizializzazione non conforme alla specifica c...

domenica 24 maggio 2009 - 23.50

squilibrio Profilo | Expert

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;

}

Anonimo Profilo | Senior Member

A colpo d'occhio veloce sembra che mal digerisce il fatto che gli passi un selectcommand con stringa vuota, non valorizzare proprio quella proprietà e vedrai che secondo me va.

dandi.box Profilo | Junior Member

C'era la stringa ... era solo un esempio quello ;-)

scusa se scrivo con un altro utente ma sto lavorando da un altro PC

Jeremy Profilo | Guru

Ciao

>strQRY = "SELECT [Orders].[CustomerID],[Orders].[OrderID]," +
>"[Orders].[ShipAddress],[Orders].[Freight],[Orders].[ShipName] FROM [Orders]" +
>" WHERE [Orders].[CustomerID] = '" + strCustometId + "'" + " " + strSort;

Nella Query c'è un errore, prova a verificare che sia quello il problema.
Supponendo che strCustometId sia =1 e strSort =2 ... il risultato della stringa sarebbe questo:

WHERE [Orders].[CustomerID] = '1' 2

Così è sicuramente sbagliato ...... oltre al fatto che CustomerId sarà sicuramente di tipo int ma tu lo tratti come se fosse string.

Facci sapere...
Ciao

dandi.box Profilo | Junior Member

la seconda query (quella in Access) è corretta e funziona correttamente....

quello che invece da problemi è la prima porzione di codice (quella con SqlDataSource ... quindi quella in SQL e non in Access) ... non ho postato la query (ho inserito solo "...") ma è corretta in quanto in debug se copi e incollo il risultato ottengo risultati

avete qualche idea?

Grazie

Jeremy Profilo | Guru

Ciao
>la seconda query (quella in Access) è corretta e funziona correttamente....
contento tu ..... .... ti consiglio comunque l'uso dei parametri.

>quello che invece da problemi è la prima porzione di codice (quella
>con SqlDataSource ... quindi quella in SQL e non in Access) ...
>non ho postato la query (ho inserito solo "...") ma è corretta
>in quanto in debug se copi e incollo il risultato ottengo risultati
>
>avete qualche idea?
Penso che il problema sia nella stringa di connessione ..... non so cosa significhi "ConnectionStrings:ARETEConnectionString" ma non credo sia una stringa di connessione valida.
Anzi, facciamo una cosa, facciamo che l'errore è proprio quello.

Facci sapere...
Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5