c# aspx logig und design trennen

kroschel

Mitglied
nabend...
ich hab bisher immer aspx Seiten erstellt mit connection, dataset...
nun wollte ich das nicht immer wieder bei jeder Seite neu machen und hab eine extra Klasse gebaut

Code:
public DataSet getDataSet()
		{
			String strSql = "SELECT ID, Vorname, Nachname, Password FROM dbo.Benutzer";
			String strMyConnString = @"User ID=""****"";Tag with column collation when possible=False;Data Source=""xx.xxx.xxx.xx"";Password=***;Initial Catalog=""xxx"";Use Procedure for Prepare=1;Auto Translate=True;Persist Security 


	System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection(strMyConnString);

			DataSet dsData = new DataSet();
			try
			{
				myConn.Open();
				System.Data.OleDb.OleDbDataAdapter myData = new System.Data.OleDb.OleDbDataAdapter(strSql, myConn);
				myData.Fill(dsData);
			}
			catch {}

			if(myConn.State == ConnectionState.Open)
				myConn.Close();

			return dsData;
		}

wenn ich jetzt in meiner Webform.aspx folgendes aufrufe, bekomme ich eine Exception

Code:
DatenTab x = new DatenTab();
oleDbDataAdapter1.Fill(x.getDataSet());

geh ich die Sache falsch an bzw. welche Möglichkeiten habe ich, dass ich nicht auf jeder Seite eine neue connection machen muss...

Danke im voraus

Wenn ich eine Komponentenklasse hinzufüge und mir alles automatisch generieren lasse, dann bekomm ich zwar keine Fehlermeldung, aber mein Datarid wird trotzdem nicht gefüllt.
 
Zuletzt bearbeitet:
Du könntest das Problem so angehen, dass du eine PageBase erstellst in der die Connection aufgebaut wird und deine aspx-Seiten dann von dieser erbt, oder du liest dich mal in Masterpages (asp.net 2) ein
 
Anscheinend bekommst du kein DataSet zurück und deswegen gibts auch diesen Fehler. Natürlich äußerst ungut, weil du einen leeren Catch-Block verwendest -> zumindest die Fehlermeldung in ein Logfile schreiben, sonst suchst du bei zB. größeren Projekten ewig.
 

Neue Beiträge

Zurück