Laden...
M
myBig? myCSharp.de - Member
Schleswig-Holstein Dabei seit 04.08.2005 241 Beiträge
Benutzerbeschreibung

Forenbeiträge von myBig? Ingesamt 241 Beiträge

21.09.2005 - 13:49 Uhr

Das ist bei mir ja genau so, im Grunde klappt alles wunderbar! Nur wenn ich aus der .jar Datei, die ich per Email zugeschickt bekommen habe, es machen will kommt folgende Fehlermeldung über die Exception im Code
**
Wrong Local header signatur - 1556563901**
Wenn ich die .jar Extrahiere und die sachen wieder neu in eine .jar Komprimiere, dann klappt es wieder wunderbar. Weiß einer woran es liegen kann?
Ciao Olli

21.09.2005 - 13:01 Uhr

Jetzt kommen wir glaub ich zu dem Punkt wo es nämlich hackt. In der .jar Datei sind nicht nur textdateien. Aber um die Namen anzeigen zu lassen müsste es doch funktionieren oder nicht? Ich kann dir ja mal mein Code für die die Zip Datei hier reinstellen


private void button1_Click(object sender, System.EventArgs e)
		{
			DialogResult result;
			String myFile, fileName;

			result = openFileDialog1.ShowDialog();
			myFile = openFileDialog1.FileName;
			fileName = openFileDialog1.FileName;

			try
			{
				if(fileName != "")
				{
					ZipInputStream s = new ZipInputStream(File.OpenRead(myFile));
					ZipEntry myEntry = null;
					StringBuilder strOutPut = new StringBuilder();

					while((myEntry = s.GetNextEntry()) != null)
					{
						ListViewItem Item = new ListViewItem();
						Item.SubItems.Add(myEntry.Name);
						listView1.Items.Add(Item);
					}
					s.Close();
					listView1.Items.Add(strOutPut.ToString());
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}

Damit kann ich wunderbar die Datei namen in einer Zip Datei anzeigen lassen, das wollte ich ja auch mit der .jar machen, aber da bekomme ich eine Fehlermeldung
Ciao Olli

21.09.2005 - 12:40 Uhr

Ich wollte im Grunde die Datein im der .jar Datei in einer ListView anzeigen lassen, also wie du schon gesagt hast sie extrahieren. Geht das denn nicht mit deinem Code?

21.09.2005 - 12:17 Uhr

Es soll in einer ListView angezeigt werden, vielleicht kann mir ja nochmal einer auf die sprünge helfen, habe einen kompletten BlackOut. Mein Code sieht jetzt so aus


private void button1_Click(object sender, System.EventArgs e)
		{
			DialogResult result;
			String myFile, fileName;

			result = openFileDialog1.ShowDialog();
			myFile = openFileDialog1.FileName;
			fileName = openFileDialog1.FileName;

			try
			{
				if(fileName != "")
				{
					ZipInputStream s = new ZipInputStream(File.OpenRead(myFile));
					ZipEntry myEntry;
					StringBuilder strOutPut = new StringBuilder();

					while((myEntry = s.GetNextEntry()) != null)
					{
						string directoryName = Path.GetDirectoryName(myEntry.Name);
						string fileName1 = Path.GetFileName(myEntry.Name);
						Directory.CreateDirectory(directoryName);

						if(fileName != String.Empty)
						{
							FileStream streamWriter = File.Create(myEntry.Name);

							int size = 2048;
							byte[] data = new byte[2048];
							while(true) 
							{
								size = s.Read(data,0,data.Length);
								if(size>0)
								{
									streamWriter.Write(data,0,size);
								}
								else
								{
									break;
								}
								listView1.Items.Add(strOutPut.ToString());
							}
							streamWriter.Close();
						}
						s.Close();
					}
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}

Ciao Olli

21.09.2005 - 11:48 Uhr

okidoki, dann werde ich es mal versuchen. Also fällt das Console.WriteLine(theEntry.Name) weg?

21.09.2005 - 11:34 Uhr

blöde frage, kann ich den code einfach da einfügen wenn ich es unter button_click machen will?

21.09.2005 - 11:30 Uhr

Hallo Svenson,
muss ich eine eigene klasse schreiben?

21.09.2005 - 11:28 Uhr

das habe ich mir auch gedacht, aber warum geht es denn wenn ich eine zip datei umbenenne in jar dann klappt es.

21.09.2005 - 10:56 Uhr

Nun ja, also ich habe ja die ICSharpCode.SharpZipLib.Zip Klasse. Damit kann ich auch wunderbar entpacken und auch auslesen. Mit .zip Dateien klappt es ja auch. Jetzt habe ich eine .jar Datei dort klappt es nicht. Habe schon getestet und zwar habe ich meine Test.zip umgenannt in Test.jar und da klappt es auch wieder. Habe jetzt von einem Kollegen eine .jar zugeschickt bekommen und mit der klappt es nicht, selbst wenn ich sie umbenenne in .zip!
Ciao olli

21.09.2005 - 09:07 Uhr

GUten Morgen alle zusammen,

habe da mal ein Frage, habe ein .jar Datei. Die kann man ja ohne weiteres mit ÖFFNEN MIT -> Zip öffnen. Habe ja die Klasse ICSharpCode.SharpZipLib.Zip! Kann ich mit dieser Klasse auch die .jar öffnen? Bekomme nämlich eine Fehlermeldung und zwar die
**
Wrong Local header signatur - 1556563901**
Liegt es daran, dass es eine .jar ist und keine .Zip?
Ciao Olli

16.09.2005 - 14:17 Uhr

Wunderbar, klappt jetzt einfach so wie es soll!
Nur noch eine frage wenn ich aus der ListView nur eine Datei auslesen lassen will, wie mache ich das. Man kann sie doch irgendwie markieren (die Zeile), oder? FullRowSelect habe ich schon auf True gesetzt.
Wie gehe dann weiter voran, finde nicht mit Checked oder ähnliches.
Ciao Olli

16.09.2005 - 14:00 Uhr

Bin jetzt schon wieder auf dem Holzweg? Bekomme eine Meldung
**
Eine Instanz der abstrakten Klasse oder Schnittstelle 'System.IO.TextReader' konnte nicht erstellt werden.**
Oder sehe ich den Wald vor Bäumen nicht mehr! Ich kann doch nicht alles vergessen haben. Mein code sieht jetzt so aus


private void button2_Click(object sender, System.EventArgs e)
		{
			String myFile;

			myFile = openFileDialog1.FileName;

			ZipInputStream s1 = new ZipInputStream(File.OpenRead(myFile));
			TextReader t = new TextReader(s1);

			ZipEntry theEntry;

			while((theEntry = s1.GetNextEntry()) != null)
			{
				ListViewItem Item = new ListViewItem();
				listView1.Items.Add(Item);

				foreach(string line in t.ReadToEnd().Split('\r','\n'))
				{
					if(line != string.Empty)
					{
						Item.SubItems.Add(line);
					}
				}
			}

Ich denke mal ist wieder völlig falsch, oder?
Ciao Olli

16.09.2005 - 13:57 Uhr

hast recht, fange jetzt selber an zu lachen 😄! Danke für den Hinweis!
Wünsche hier schon mal schönes wochenende

16.09.2005 - 13:38 Uhr

ist das auch ein Forum? oder wo finde ich das?

16.09.2005 - 13:31 Uhr

Hallo Zusammen,

mal in kürze beschrieben. Habe was geschrieben, dass eine Zip- Datei ausliest und mir die Dateien in einer ListView anzeigt. Mit einem zweiten Button will ich jetzt den Inhalt der Dateien auslesen und in der ListView anzeigen lassen, das klappt nur zur hälft. Der Inhalt wird mir zwar angezeigt, allerdings alles in einer Zeile. Habe schon versucht es mit .Split('\r','\n'), aber da kommt eine Fehlermeldung bzw wird gar nicht erst Kompiliert. Weiß einer vielleicht rat oder weiß einer wie man es ausser Split machen kann. Mein Code sieht so aus:


private void button2_Click(object sender, System.EventArgs e)
		{
			String myFile;

			myFile = openFileDialog1.FileName;

			ZipInputStream s1 = new ZipInputStream(File.OpenRead(myFile));
			ZipEntry theEntry;

			int nBytes = 2048;
			byte[] data = new byte[2048];

			while((theEntry = s1.GetNextEntry()) != null)
			{
				while((nBytes = s1.Read(data,0,data.Length)) > 0)
				{
					String line;
					line = new ASCIIEncoding().GetString(data,0,nBytes);
					listView1.Items.Add(line);
				}
			}
		}

Dann noch eine dumme Frage dazu, was muss ich denn machen, wenn ich in der ListView eine Zeile auswählen will damit nur eine Datei ausgelsen wird. Alles was ich bisher versucht habe klappte nicht!
Ciao Olli

16.09.2005 - 13:19 Uhr

Das ist genau das was ich gesucht habe, wenn ich mich nicht ganz irre! Vielen Dank! Wo kann man so was denn mal nach lesen? Hast du vielleicht ein link oder ähnliches?
Ciao Olli

16.09.2005 - 12:25 Uhr

Ich glaub ich habe mich etwas blöde ausgedrückt, z.B. bei FileVersionInfo Klasse kann man ja verschieden sachen aus dem File auslesen, wie z.B. FileVersion und FileDesription usw.
Und da man ja mit deiner SQL- Abfrage die Version des Oracle Server auslesen kann, dachte ich vielleicht, dass man auch andere sachen auslesen kann, wie z. B. Desciption des Servers. Geht das? Wenn ja, hast du ein Link wo man nach lesen kann was alles geht bzw auslesen kann?
Ciao Olli

16.09.2005 - 08:32 Uhr

Guten Morgen Ikaros,

das hat ja wunderbar geklappt. Kann man auch Description des Servers auslesen? Wo kann man so was nachlesen, hast du vielleicht ein Link?

Ciao Olli

15.09.2005 - 12:08 Uhr

Hallo Zusammen,

wenn ich Zugriff auf eine Oracle DB machen will bekommen ich diese Fehlermeldung von der Exception
**
ORA-12514:TNS: Listener kennt den Service aktuell nicht, der in dem Connect-Deskriptor angefordert wird.**
Kann es vielleicht damit zu tun habe, dass ich keine Zugriffserlaubnis besitze?
Ciao Olli

15.09.2005 - 10:52 Uhr

Aha, das werde ich mal ausprobieren. Es soll jedeglich die Version des Servers ausgeben. Darauf wäre ichjetzt gar nicht gekommen. Werde es mal versuchen.

15.09.2005 - 09:59 Uhr

Das hört sich ja schon mal gut an, wo kann ích denn was darüber lesen? Bzw muss ich sie Hinzufügen? Hatte bei .Net unter suchen nichts gefunden.

15.09.2005 - 09:49 Uhr

Hallo zusammen,

gibt es etwas in C# wo ich eine Zip datei entpacken kann und da was auslesen kann? Oder muss ich eine Classe schreiben? Hatte hier schon was in der Art gefunden unter SharpZipLib und absoluter Pfad, habe aber nichts gefunden unter SharpZipLip, oder wo muss ich da gucken bzw suchen? Bin mir jetzt aber auch nicht sicher ob diese SharpZipLip das richtige ist.

Ciao Olli

15.09.2005 - 09:26 Uhr

Upps, sorry! Das ging so fix, habe ich jetzt nicht drauf geachtet!

15.09.2005 - 09:04 Uhr

Hallo zusammen,
ein kleine frage habe ich da. Wenn man die Version von einem SQL- Server auslesen will , dann funktioniert es mit SELECT @@version. Funktioniert es auch bei einem Oracle Server oder muss man da was anderes eingeben beim SELECT bzw gehts ganz anders bei einem Oracle Server?

Ciao Olli

14.09.2005 - 12:47 Uhr

Hallo zusammen,

habe mal wieder ein Problem. Vorweg ich habe kein zugriff auf ProviderFactory!!! Habe zwei Provider(SQL,Oracle) habe schon eine eigene Classe geschrieben mit einer SWITCH CASE Anweisung, leider habe ich das Problem, dass er gar nicht unterscheidet zwischen Oracle und SQL er nimmt sich gleich den ersten. Der Code


private enum provider {sqlserver, oracle};

		public Provider(ListView listView,TextBox textBoxServerName,TextBox textBoxUserID,TextBox textBoxPassword)
		{
			provider Prov = new provider();
			IDbConnection Conn;

			switch(Prov)
			{
				case provider.sqlserver:
					Conn = new SqlConnection();
					Conn.ConnectionString = "Server=" + textBoxServerName.Text + ";" + "User ID=" + textBoxUserID.Text + ";" + "Password=" + textBoxPassword.Text + ";" + "Trusted_Connection = False";

					IDbCommand Comm = Conn.CreateCommand();
					Comm.CommandText = "SELECT @@version";
					Conn.Open();

					IDataReader myReader1 = Comm.ExecuteReader();

					ListViewItem Item = new ListViewItem("Server: ",0);

					while(myReader1.Read())
					{
						foreach(string line1 in myReader1.GetString(0).Split('\r','\n','\t'))
						{
							if (line1 != string.Empty)
							{
								Item.SubItems.Add(line1);
							}
						}
					}
					listView.Items.Add(Item);
					Conn.Close();break;

				case provider.oracle:
					Conn = new OracleConnection();
					Conn.ConnectionString ="Server=" + textBoxServerName.Text + ";" + "User ID=" + textBoxUserID.Text + ";" + "Password=" + textBoxPassword.Text + ";" + "Integrated Security = no";

					IDbCommand Comm1 = Conn.CreateCommand();
					Comm1.CommandText = "SELECT @@version";
					Conn.Open();

					IDataReader myReader11 = Comm1.ExecuteReader();

					ListViewItem Item1 = new ListViewItem("Server: ",0);

					while(myReader11.Read())
					{
						foreach(string line1 in myReader11.GetString(0).Split('\r','\n','\t'))
						{
							if (line1 != string.Empty)
							{
								Item1.SubItems.Add(line1);
							}
						}
					}
					listView.Items.Add(Item1);
					Conn.Close();
					break;

Vielleicht wisst ihr woran es liegt? Ich denke mal das es daran liegt, dass ich noch gar keine Connection gemacht hat, also auch nicht weiß wo er hingehört.
Dann dachte ich mir das ich es mit IF ELSE versuche, aber da finde ich nicht die Richtig BEDINGUNG.Der Code sieht so aus


private enum provider {sqlserver, oracle}

		public DB1(ListView listView,TextBox textBoxServerName,TextBox textBoxUserID,TextBox textBoxPassword)
		{
			provider prov = new provider();
			IDbConnection Conn;

			Conn = new OracleConnection();
			Conn.ConnectionString = "Server=" + textBoxServerName.Text + ";" + "User ID=" + textBoxUserID.Text + ";" + "Password=" + textBoxPassword.Text + ";" + "Integrated Security = no";
			IDbCommand Comm1 = Conn.CreateCommand();
			Comm1.CommandText = "SELECT * FROM ITC";
			Conn.Open();
			
			if(??????????????)
			{
				IDbCommand Comm1 = Conn.CreateCommand();
				Comm1.CommandText = "SELECT * FROM ITC";
				Conn.Open();

				IDataReader myReader11 = Comm1.ExecuteReader();

				while(myReader11.Read())
				{
					ListViewItem Item11 = new ListViewItem("DB ",0);
					Item11.SubItems.Add(myReader11.GetInt32(0).ToString());
					Item11.SubItems.Add(myReader11.GetString(1));
					Item11.SubItems.Add(myReader11.GetValue(2).ToString());
					listView.Items.Add(Item11);
				}
				Conn.Close();
			}
			else
			{
				Conn = new SqlConnection();
				Conn.ConnectionString = "Server=" + textBoxServerName.Text + ";" + "User ID=" + textBoxUserID.Text + ";" + "Password=" + textBoxPassword.Text + ";" + "Trusted_Connection = False";
				IDbCommand Comm = Conn.CreateCommand();
				Comm1.CommandText = "SELECT * FROM ITC";
				Conn.Open();

				{
					IDbCommand Comm = Conn.CreateCommand();
					Comm.CommandText = "SELECT * FROM ITC";
					Conn.Open();

					IDataReader myReader1 = Comm.ExecuteReader();

					while(myReader1.Read())
					{
						ListViewItem Item1 = new ListViewItem("DB ",0);
						Item1.SubItems.Add(myReader1.GetInt32(0).ToString());
						Item1.SubItems.Add(myReader1.GetString(1));
						Item1.SubItems.Add(myReader1.GetValue(2).ToString());
						listView.Items.Add(Item1);
					}
					Conn.Close();
				}

Ich weiß ist jetzt viel Code aber ich weiß leider wirklich nicht woran es liegt, habe schon ne menge ausprobiert damit es läuft, gehe wohl immer falsch ran.
Ciao Olli

13.09.2005 - 13:21 Uhr

Vielleicht aber aúch nicht, habe jetzt alles so bevolkt wie in dem Link mit dem ConnectionString, und ich glaube an dem ConnectionString kann es auch nicht liegen. Bekomme trotzdem weiterhin die Fehlermeldung.
Weiß einer einen rat?
Ciao Olli

13.09.2005 - 13:12 Uhr

Man bin ich blöd, hatte den Fehle schon einmal. Sorry, werde nochmal gucken wie ich es gelöst habe.
Ciao Olli

13.09.2005 - 12:04 Uhr

Hallo zusammen,

bekomme ein Fehlermeldung
**
Eine nicht behandelte Ausnahme des Typs 'System.Data.OracleClient.OracleException' ist in system.data.oracleclient.dll aufgetreten.

Zusätzliche Informationen: Systemfehler.**
Will zugriff auf Oracle DB machen und erhalte die Meldung von oben.
Mein Code sieht so aus


private void buttonDB_Click(object sender, System.EventArgs e)
		{
			IDbConnection myConn = new OracleConnection();
			myConn.ConnectionString = "server = xxxxx;User ID = xxxxxxx;Password = xxxxxxx;Integrated Security = no";

			IDbCommand myComm = myConn.CreateCommand();
			myComm.CommandText = "SELECT * FROM ITC";

			myConn.Open();

			IDataReader myReader = myComm.ExecuteReader();

			while(myReader.Read())
			{
				ListViewItem Item = new ListViewItem("DB ",0);
				Item.SubItems.Add(myReader.GetInt32(0).ToString());
				Item.SubItems.Add(myReader.GetString(1));
				Item.SubItems.Add(myReader.GetValue(2).ToString());
				lvVInfo.Items.Add(Item);
			}
			myReader.Close();
			myConn.Close();

			buttonExport.Enabled = true;
		}

Die Fehlermeldung tritt in dieser Zeile auf



			IDataReader myReader = myComm.ExecuteReader();

Weiß einer vielleicht woran es liegt?
Ciao Olli

13.09.2005 - 09:13 Uhr

Guten Morgen,

habe jetzt den 10g downloaded und istalliert, bekomme immer noch die gleich Fehlermeldung. Weiß jemand vielleicht woran es liegt?

Ciao Olli

12.09.2005 - 15:12 Uhr

Sorry noch mal die Frage Svenson, aber welche von den Brauch ich denn?

12.09.2005 - 14:50 Uhr

Hallo Svenson,
hast du eine Seite wo ich den Runterladen kann den Client?
Habe geguckt, habe die oci.dll nicht auf meinem Rechner.
Ciao Olli

12.09.2005 - 13:41 Uhr

weiß denn einer vielleicht wo ich den Oracle Client runterladen kann?

12.09.2005 - 13:00 Uhr

sorry, die nachfrage. Was meinst du mit DLL muss im PATH sein?
Ist bestimmt ne blöde frage, aber das verstehe ich im moment nicht.

12.09.2005 - 12:50 Uhr

Hallo zusammen,
ich hoffe einer kann mir bei dieser Fehlermeldung helfen
**
Eine nicht behandelte Ausnahme des Typs 'System.DllNotFoundException' ist in system.data.oracleclient.dll aufgetreten.

Zusätzliche Informationen: Die DLL (oci.dll) kann nicht geladen werden.**
Und so sieht mein Code aus


private void buttonDB_Click(object sender, System.EventArgs e)
		{
			IDbConnection myConn = new OracleConnection();
			myConn.ConnectionString = "server = KPxxxx;User ID = xxxxx;Password = xxxxx;Integrated Security = no";

			IDbCommand myComm = myConn.CreateCommand();
			myComm.CommandText = "SELECT * FROM ITC";

			myConn.Open();

			IDataReader myReader = myComm.ExecuteReader();

			while(myReader.Read())
			{
				ListViewItem Item = new ListViewItem("DB ",0);
				Item.SubItems.Add(myReader.GetInt32(0).ToString());
				Item.SubItems.Add(myReader.GetString(1));
				Item.SubItems.Add(myReader.GetValue(2).ToString());
				lvVInfo.Items.Add(Item);
			}
			myReader.Close();
			myConn.Close();

			buttonExport.Enabled = true;
		}

Weiß einer woran es liegt? Mache ich es mit einem SQL Server habe ich keine Probleme. Die Fehlermeldung kommt in dieser Zeile


IDataReader myReader = myComm.ExecuteReader();

Ciao Olli

12.09.2005 - 10:58 Uhr

okidoki, dann werde ich da mal nach schauen ob ich was finde. Danke erst einmal

12.09.2005 - 10:51 Uhr

Hmm, ich glaube, dass ich mich vielleicht nicht richtig ausgedrückt habe! Sollte ich jetzt nur eine Form habe. Und dort eine Textbox habe, dann kann ich in der TextBox die SQL- Anweisung schreiben und im Code die zuteilen


myConn.ConnectionText = textBox1.Text;

Da nach wird dann auch diese Anfrage in der ListView angezeigt.

Das wollte ich jetzt im Grunde auch so machen, halt das ich per ButtonClick eine 2. Form öffnen, dort die SQL- Anweisung in einer TextBox schreibe und wieder durch ButtonClick in der 2. Form diese Anweisung in


myConn.ConnectionText =......

geschrieben wird.
Muss ich da dann trotzem eine eigene Klasse schreiben? Im Grunde müsste es doch auch so funktionieren, oder habe da wieder einen Gedanken fehler?
Ciao Olli

12.09.2005 - 10:14 Uhr

Verstehe ich das jetzt richtig, dass ich keine 2. Form brauche? Oder habe ich da jetzt was missverstanden?

12.09.2005 - 09:53 Uhr

Hallo zusammen,

ich habe da mal eine Frage. Ich habe zwei formen. In der 2. Form gebe ich ein SQL anfrage ein, die dann in der 1. Form(Hauptform) zugeteilt werden soll, damit in der 1. Form dann das Ergebnis der SQL Anfrage angezeigt werden soll in einer ListView. Ich bekomme es hin, wenn ich die SQL- Anfrage einfach in ein Label anzeigen lasse will in der 1.Form. Das klappt ja auch wunderbar. Bekomme es jetzt aber nicht hin, das die SQL- Anfrage gleich in der Hauptform im ConnectionString geschriben wird. Geht das Überhaupt? Oder gibts da auch eine andere Lösung einfacher? Ich hoffe, meine Frage ist verständlich! Habe schon im Forum gesucht aber nicht das richtige gefunden bzw wohl nicht den richtigen suchbegriff eingegeben.

Ciao Olli

09.09.2005 - 14:57 Uhr

Wunderbar.Klappt ! Danke schön. Darauf wäre ich jetzt nicht gekommen.
Danke nochmal und schönes Wochenende.
Ciao Olli

09.09.2005 - 14:48 Uhr

Hallo zusammen,

bestimmt eine ganz einfache Lösung.
Habe Zwei Formen. In der Hauptform wird ein Text übergeben von der 2. Form per ButtonClick. Jetzt würde ich aber gerne wenn ich den Button in der 2. Form betätige, dass sich die 2. Form auch schliesst und nur noch die Hauptform wieder zu sehen ist mit dem Text der von der 2 Form übergeben worden ist. Habe auch schon hier in der Forumsuche geguckt, aber wohl nicht die richtig angabe gemacht.
Mit


Form2 f2 = new Form2();
f2.Close();

klappt es nicht. Da kommt dann folgende Meldung
**
'Testen2.Form2' deutet auf 'Klasse' hin, was im gegebenen Kontext nicht gültig ist.**
Ist bestimmt ganz einfach, komme da nur nicht drauf.
Ciao Olli

07.09.2005 - 11:31 Uhr

Ich werde mir das jetzt mal zu gemühte führen. Und alles in Ruhe nochmal von euch so anschauen. Ich hoffe ich verstehe es dann. Wenn noch fragen auftauchen, werde ich mich wieder melden. Ich hoffe, dass ihr mir dann weiter helfen könnt.

Schon mal vielen dank für die gute Hilfe und Unterstützung!
Ciao Olli

07.09.2005 - 10:57 Uhr

Jupps, jetzt läuft es! Danke nochmal!!!
Aber jetzt nochmal eine Frage ist es denn immer so "kompliziert"? Ich dachte das wäre recht einfach. Eine Klasse schreiben, dann über using eine Verbindung zwischen den Klassen schreiben und schon kommunizieren die miteinander. Hat noch einer eine gute Seite wo ich mich mit Klassen mal beschäftigen kann? Werde mir auch nochmal das von Norman suchen was hier im Forum sein soll.
Ciao Olli

07.09.2005 - 10:52 Uhr

HALT!!!!
Ich glaube ich habe den Fehler gefunden. Moment ich versuche es nochmal.

07.09.2005 - 10:51 Uhr

Hallo Progger,

die Fehlermeldung ist jetzt weg, es läuft auch wunderbar durch. Allerdings wird es nicht in der listView1 angezeigt. Brauch ich noch irgendeine Zuweisung oder woran liegt es?
Ciao Olli

07.09.2005 - 10:16 Uhr

Daran liegt es leider auch nicht, hatte ich auch schon dran gedacht. Habe es auch jetzt nochmal versucht. Kommt wieder die gleich Fehlermeldung in der gleichen Zeile.

07.09.2005 - 10:13 Uhr

Da kommt dann Server raus, aber die Fehlermeldung bleibt. Die kommt direkt im Anschluss. Oder habe ich die Klasse nicht richtig eingebunden? Weiß echt nicht was ich falsch mache. 😭 🤔

07.09.2005 - 09:53 Uhr

Hallo Norman,

der Fehler taucht in der Klasse auf und zwar in dieser Zeile


listView1.Items.Add(Item);

Sie ist Gelb hinterlegt.
Ciao Olli

07.09.2005 - 09:36 Uhr

Guten Morgen alle zusammen,

ich habe eine Klasse geschrieben, diese möchte ich jetzt einbinden in mein Hauptprogramm. Leider funktioniert es nicht. Erst einmal eine allgemeine Frage, wie binde ich die Klasse ein. Mein erster Schritt war Hinzufügen->Klasse Hinzufügen, dann habe ich die Klasse ersteinmal geschrieben. Ich weiß schon gar nicht mehr was ich alles probiert habe und welche fehler Meldungen ich bekommen habe. Die letzte Fehlermeldung lautet im Moment
**
Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in Testen.exe aufgetreten.

Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.**
Habe auch schon hier im Forum gesucht, auch was gefunden aber hat leider nicht geholfen.
In meinem Hauptprogramm will ich über ein ButtonClick dann im Grunde das ausführen was in der Klasse steht. Die Neue Klasse soll Verschiedene Server erkennen und die Version auslesen und sie dann in einer ListView im Hauptprogramm anzeigen. Ich hoffe ich habe es gut genug erklärt.
Ich werde euch nochmal kurz den Code hier her packen
Mein Hauptprogramm:


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Diagnostics;
using Microsoft.Win32;
using System.IO;
using System.Data.SqlClient;
using System.Data.OracleClient;
using System.Data.Common;
using System.Data.Odbc;
using System.Data.OleDb;
using Provider1;

namespace Testen
{
	/// <summary>
	/// Zusammenfassung für Form1.
	/// </summary>
	/// 
	//public  System.Windows.Forms.ListView listView1;
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.ListView listView1;
		private System.Windows.Forms.ColumnHeader columnHeader1;
		private System.Windows.Forms.ColumnHeader columnHeader2;
		private System.Windows.Forms.ColumnHeader columnHeader3;
		private System.Windows.Forms.ColumnHeader columnHeader4;
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Form1()
		{
			//
			// Erforderlich für die Windows Form-Designerunterstützung
			//
			InitializeComponent();

			//
			// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
			//
		}

		/// <summary>
		/// Die verwendeten Ressourcen bereinigen.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Vom Windows Form-Designer generierter Code
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung. 
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		private void InitializeComponent()
		{
			this.button1 = new System.Windows.Forms.Button();
			this.listView1 = new System.Windows.Forms.ListView();
			this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
			this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
			this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
			this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
			this.SuspendLayout();
			// 
			// button1
			// 
			this.button1.Location = new System.Drawing.Point(8, 8);
			this.button1.Name = "button1";
			this.button1.TabIndex = 0;
			this.button1.Text = "button1";
			this.button1.Click += new System.EventHandler(this.button1_Click);
			// 
			// listView1
			// 
			this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
																						this.columnHeader1,
																						this.columnHeader2,
																						this.columnHeader3,
																						this.columnHeader4});
			this.listView1.GridLines = true;
			this.listView1.Location = new System.Drawing.Point(128, 16);
			this.listView1.Name = "listView1";
			this.listView1.Size = new System.Drawing.Size(656, 192);
			this.listView1.TabIndex = 1;
			this.listView1.View = System.Windows.Forms.View.Details;
			// 
			// columnHeader1
			// 
			this.columnHeader1.Text = "Java";
			this.columnHeader1.Width = 200;
			// 
			// columnHeader2
			// 
			this.columnHeader2.Text = "version";
			this.columnHeader2.Width = 200;
			// 
			// columnHeader3
			// 
			this.columnHeader3.Text = "bla bla";
			this.columnHeader3.Width = 200;
			// 
			// columnHeader4
			// 
			this.columnHeader4.Text = "blabalbaa";
			this.columnHeader4.Width = 200;
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(832, 565);
			this.Controls.Add(this.listView1);
			this.Controls.Add(this.button1);
			this.Name = "Form1";
			this.Text = "Form1";
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// Der Haupteinstiegspunkt für die Anwendung.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}
	
		private void button1_Click(object sender, System.EventArgs e)
		{
			Provider p = new Provider();
		}
	}
	}

Und hier meine Klasse:


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Diagnostics;
using Microsoft.Win32;
using System.IO;
using System.Data.SqlClient;
using System.Data.OracleClient;
using System.Data.Common;
using System.Data.Odbc;
using System.Data.OleDb;
using Testen;

namespace Provider1
{
	/// <summary>
	/// Zusammenfassung für Provider.
	/// </summary>
	public class Provider
	{
		public System.Windows.Forms.ListView listView1;
		private enum provider {sqlserver,oracle,oledb,odbc};

		public Provider()
		{
			provider prov = new provider();
			IDbConnection conn;

			switch(prov)
			{
				case  provider.sqlserver:

					conn = new SqlConnection();
					conn.ConnectionString ="server=KPxxxx;database=xxx_xxxxx;User ID=xxxxxxx;Password=xxxxxxx;Trusted_Connection=False";

					IDbCommand comm = conn.CreateCommand();
					comm.CommandText = "SELECT @@version";
					conn.Open();

					IDataReader myReader = comm.ExecuteReader();
							
					ListViewItem Item = new ListViewItem("Server",0);
					listView1.Items.Add(Item);
							
					while(myReader.Read())
					{
						foreach(string line in myReader.GetString(0).Split('\r','\n','\t'))
						{
							if(line != string.Empty)
							{
								Item.SubItems.Add(line);
							}
						}
					}
					conn.Close();break;

				case  provider.oracle:
					conn = new OracleConnection();break;
				case provider.oledb:
					conn = new OleDbConnection();break;
				case provider.odbc:
					conn = new OdbcConnection();break;
			}
			//
			// TODO: Fügen Sie hier die Konstruktorlogik hinzu
			//
		}
	}
}

Ich hoffe einer kann mir helfen! Ist mit Sicherheit ganz simpel, aber habe noch nicht viel bzw gar nicht mit Klassen gearbeitet.
Ciao Olli

05.09.2005 - 12:46 Uhr

Ist ja schon gut! Wie gesagt, ProviderFactory bringt mir leider nichts, da ich nicht .net 2.0 habe. Aber nun gut. Werde mal sehen, was ich da machen kann. Schönen Tag noch Noodles!
Ciao Olli

05.09.2005 - 12:37 Uhr

Dat ist mir schon klar, allerdings wurde ich da immer aus ProviderFactory hingewiesen. Und den besitze ich nun mal nicht. Aber nun gut. Dann eben nicht. Aber da ich ja höflich bin, danke für den Hinweis!!!!!!!!!!!!!!
Ciao Olli