[WebMethod] DataSet getDataSet(sqlString)

Haloo bei wewewwa,

ich möchte per dienst daten in ein dataset lesen. Dazu übergebe ich einen SqlString, der das select beinhaltet.

einen Adapter erzeugen:
protected SqlDataAdapter getAdap()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = conString;
con.Open();
SqlDataAdapter dbAdap = new SqlDataAdapter();
dbAdap.SelectCommand.Connection = con;
return dbAdap;
}

und eine web methode:

[WebMethod] public DataSet getDataSet(string sqlStatement)
{
dbAdap = getAdap();
DataSet ds = new DataSet();
dbComm.CommandText = sqlStatement;
dbAdap.Fill(ds);
return ds;
}

Soweit so gut, aber der Dienst will nicht.
„Die Seite kann nicht angezeigt werden“
Das Sql und der conString sind ok (an anderer Stelle geprüft)
Ähnlich benutze ich SqlCommand, das klappt. Da der aber kein DataSet füllen kann (oder doch ???) brauche ich den Adapter.

Einer eine Idee?

mfg

Dirk

Hallo

Bau doch einen Try Catch um die WebMethode, dann siehst du wo der Bug ist.

gruss
giuseppe


http://gsharp.blogspot.com

p.s. In der Regel übergibt man dem WebService nicht einen SQLString -->Bad Design :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Giuseppe;

Bau doch einen Try Catch um die WebMethode, dann siehst du wo
der Bug ist.

Werd ich machen. Hab das Gefühl das .open() nicht will, schauen wir mal…

p.s. In der Regel übergibt man dem WebService nicht einen
SQLString -->Bad Design :smile:

Seh ich ja ein und hab ich bisher auch nicht gemacht, aber dieses ewige: Was brauch ich denn, StoredProc schreiben Dienst einrichten, Dienst testen, Dienst einbauen, Aufruf testen, ach , den vergessen …
Mit direktem SQL per Dienst geht das vieeeel schneller. SQL erstellen, einbauen, fertig.

Warum sollte man das nicht ausnutzen? Datenschutz? Performance? Was ist daran „Bad“? Würd´s gerne einsehen und wenn alles steht auch ändern! Aber interessant wär´s schon zu wissen, warum.

mfg

Dirk…

Hi

Warum sollte man das nicht ausnutzen? Datenschutz?
Performance? Was ist daran „Bad“? Würd´s gerne einsehen und
wenn alles steht auch ändern! Aber interessant wär´s schon zu
wissen, warum.

Da spricht viel dagegen. Du hast z.b. keine Logische Trennung der Komponenten was dich abhängig macht. Du kannst z.b. nicht ohne weiteres die Datenbank von SQLServer auf Oracle ändern ohne den Client auch anzupassen…
Dann noch die Security. Wer zugriff auf deinen WebService hat, kann jedes beliebiges Query absetzten: „Delete MyTable“ „Select Lohn von Chef“…
Das sind nur zwei Punkte… es gibt noch mehrere andere…
Ich würde mir mal ein wenig Zeit nehmen um diese Kapitel zu lesen:
http://msdn.microsoft.com/library/default.asp?url=/l…

gruss
giuseppe

gsharp.blogspot.com