Zum Inhalt springen

.NETter

Mitglieder
  • Gesamte Inhalte

    177
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von .NETter

  1. Hallo, habe hier ganz auf die Schnelle mal ein paar Zeilen Code zusammengebaut die dir fürs Erste weiterhelfen sollten: Private Sub cmdspei_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdspei.Click 'Connection erstellen / Der Connectionstring muss natürlich angepasst werden! Dim con As New OleDb.OleDbConnection("Provider=MySQLProv;Data Source=Host-/Datenbankname;User Id=myUsername;Password=myPassword ") 'Statement als string erstellen Dim sql As String = "INSERT INTO tab_spot(Kundenname, Spotname, Sprecher1, Sprecher2, Sprecher3, Branche, Musik, Spottext, Spotbeschreibung, Spotlaenge) VALUES (" + txtkname.Text + "," + txtspname.Text + "," + txtsp1.Text + "," + txtsp2.Text + "," + txtsp3.Text + "," + cmdbra.Text + "," + txtmus.Text + "," + txtsptex.Text + "," + txtkbez.Text + "," + txtspl.Text + ")" 'Command erstellen und diesem das SQL-Statement UND die Verbindung zuweisen! Dim cmd As New OleDb.OleDbCommand(sql, con) Try 'Verbindung zur DB öffnen con.Open() 'Command ausführen cmd.ExecuteNonQuery() 'Verbindung wieder schliessen con.Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub Du solltest Dich aber wirklich mit den Grundlagen beschäftigen sonst helfen Dir dort auch keine Beispiele mehr weiter. Gruß, Thomas
  2. Hallo, ich habe Dir einen SQL-Statement für C# geschickt Das wird so natürlich nicht in Deinen VB .Net Code passen... Hier mal für VB .Net: "INSERT INTO tab_spot(Kundenname, Spotname, Sprecher1, Sprecher2, Sprecher3, Branche, Musik, Spottext, Spotbeschreibung, Spotlaenge) VALUES (" & txtkname.Text & "," & "txtspname.Text" & "," & txtsp1.Text & "," & txtsp2.Text & "," & txtsp3.Text & "," & cmdbra.Text & "," & txtmus.Text & "," & txtsptex.Text & "," & txtkbez.Text & "," & txtspl.Text & ")" Lass einfach die Zeilenumbrüche (SQL-String) im Code mal weg und benutze das Statement aus diesem Beitrag. Wo führst Du das Command aus (command.ExecuteNonQuery())? Und wo werden die Verbindungen zur DB geöffnet und geschlossen? Oder sind das nur Testzeilen? Gruß, Thomas
  3. Kannst du mal einen erweiterten Auszug aus dem Quelltext posten? In einem vorherigen Beitrag hast Du folgendes geschrieben: Also funktionieren die Verbindung und auch das Speichern völlig OK. Das Problem wird im SQL-Statement liegen. Er nimmt dein Statement was syntaktisch Ok ist und trägt die darin enthaltenen Werte ein--> txtirgendwas... Es ist nur ein String der deinen Verweis auf eine Textbox nicht umsetzen wird. Wie gesagt poste mal etwas Code...
  4. Hallo, ich überlege gerade ob es im Moment überhaupt günstig ist sich in die Workflow Foundation einzuarbeiten... Diese wird mit dem .Net Framework 4.0 von Microsoft komplett neu geschrieben und die Änderungen im Entwicklungsbereich sollen erheblich sein. Hier mal ein Artikel dazu: heise online - PDC: Microsoft schreibt Workflow Foundation komplett neu Gruß, Thomas
  5. Hallo, hast Du mein abgeändertes Statement in Deinem Code mal ausprobiert? Gruß, Thomas
  6. Hallo! Ich habe mir den allerersten Eintrag mal angesehen. Du möchtest Daten aus einem FORMULAR(?) in die DB speichern? Korrekt? Die Paranmeternamen kommen mir sehr verdächtig vor... Sind dies die Namen der Textfelder in Deinem Formular? INSERT INTO tab_spot (Kundenname, Spotname, Sprecher1, Sprecher2, Sprecher3, Branche, Musik, Spottext, Spotbeschreibung, Spotlaenge) VALUES (txtkname, txtspname, txtsp1, txtsp2, txtsp3, cmdbra, txtmus, txtsptex,txtkbez, txtspl); Falls das so sein sollte musst Du hier natürlich Dein Statement abändern um den "TEXT" der Controls zu erreichen: "INSERT INTO tab_spot(Kundenname, Spotname, Sprecher1, Sprecher2, Sprecher3, Branche, Musik, Spottext, Spotbeschreibung, Spotlaenge)" + "VALUES (" + txtkname.Text + "," + "txtspname.Text" + "," + txtsp1.Text + "," + txtsp2.Text + "," + txtsp3.Text + "," + cmdbra.Text + "," + txtmus.Text + "," + txtsptex.Text + "," + txtkbez.Text + "," + txtspl.Text + ")"; So sollte das Statement als String aussehen. Könnte das vielelicht sein? Gruß, Thomas
  7. Hallo, vielleicht hilft Dir dieser Link schon mal etwas weiter. Windows Workflow Foundation Und das entsprechende SDK würde ich mir für WF herunterladen (MS). Gruß, Thomas
  8. Hallo, ich denke dies könnte doch sehr schwierig werden eine immer wieder anders strukturierte Datei "einlesen" zu wollen. Solange die Spaltennamen der CSV-Datei mit den Spaltennamen der Tabelle übereinstimmen kann Access (2007) dies automatisch mappen. Hast Du hier allerdings Spalten in der CSV-Datei die in der Tabelle nicht vorhanden sind, wird der Import scheitern. Ich würde hier eine Schnittstelle definieren, eben ein Interface welches die Struktur der CSV-datei definiert. Quasi als Kommunikationsvoraussetzung. Falls Du weitere Programmierkenntnisse im .Net Bereich besitzt kannst Du natürlich auch selbst etwas entwickeln. Kleine Idee: -Anzeige der Spaltenköpfe die in der CSV-Datei vorhanden sind (CheckedListBox) zur Auswahl der zu importierenden Spalten. -Mappingzuordnung der Quellspalten an die Zielspalten, die ausgewählt wurden -Import nach Access aus der eigenen Anwendung heraus Gruß, Thomas
  9. Hallo, der SQL 2008 ist im Gegensatz zum 2005er nach der Installation anders aufgestellt und lässt ohne weitere Konfiguration nur lokale Verbindungen zu. Um dies zu ändern musst Du die folgenden zwei Schritte abarbeiten: 1.) Remoteverbindungen zulassen Über das SQL Server Management Studio (SSMS) verbindest Du Dich lokal mit dem Server. Über die Servereigenschaften (rechte Maustaste auf den Servernamen im Objektexplorer. Unter dem Punkt Verbindungen findest Du auf der rechten Seite eine Checkbox "remoteverbindungen mit diesem Server zulassen". Hier muss der Haken gesetzt werden. 2.) TCP/IP und Named Pipes Über Start --> Programme --> Sql Server 2008 --> Konfigurationstools findest Du den SQL Server Konfigurationsmanager. Auf der linken Seite sieht man den Knoten SQL Server-Netzwerkkonfiguration. Wenn Du diesen Knoten erweiterst siehst Du die Protokolle für alle installierten Server. Wähle den entsprechenden Server aus. Auf der rechten Seite werden die zugehörigen Protokolle und deren Status aufgelistet. Nach der Installtion sollte bei allen "Deaktviert" stehen. Hier solltest Du die Protokolle TCP/IP und Named Pipes aktivieren. So ist der Server korrekt eingestellt. Zugriffsrechte und eventuelle Firewall-Einstellungen solltest du natürlich auch prüfen. Wenn der SQL Server 2008 als Standardinstanz installiert ist benutzt er den Port 1433, falls es jedoch eine benannte Instanz ist (Servername\SQLExpress o.ä.) wird der SQL Server einen dynamischen Port nutzen der sich ändert. Viele Grüße und viel Erfolg, Thomas
  10. Hallo, habe gerade mal einen "Mini-Migrationstest" durchgeführt. Ich denke Du hast den Designer benutzt um Datenquellen, Datasets und Tableadapter zu erzeugen (Irgendwas.xsd)? Es genügt einen neuen Connectionstring (zum SQL Server) in den Settings anzulegen. Danach einfach in dein Dataset.xsd-File umschalten und dort unter den Eigenschaften des TableAdapters den neuen Connectionstring auswählen. Läuft, zumindest bei meinem Test, einwandfrei. Solange Du kein Access-spezifisches SQL geschrieben hast, musst Du die INSERT-, UPDATE- und DELETE-Commands auch nicht anfassen. Viele Grüße und viel Erfolg! Thomas
  11. Hallo, unabhängig vom Sinn oder Unsinn der Migration von Access zum SQL Server... Microsoft bietet einen SQL Server Migration Assistant an. Der portiert die Datenstrukturen etc. in den SQL Server 2008 (gibts aber auch für den SQL Server 2005). Hier mal der Link: SSMA für Access Gruß, Thomas
  12. Hallo, leider hatte ich den letzten Wochen kaum Zeit, da ich nur unterwegs bin. Sorry. Nein, nicht für jeden Button einen einzelnen Handler sondern einen einzigen Handler für alle Buttons. Ganz rudimentär übergibst du den Text des Buttons als Parameter im Querystring: http://Deinserver/MyButton.ashx?Buttontext=Button1 Der handler muss eine Grafik erzeugen (Contenttype des Response anpassen "image/gif" oder "image/jpg" o.ä.) Der Handler zeichnet die linke (abgerundete Seite) des Buttons (DrawImage) erzeugt dann den Mittelteil (Breite abhängig von der Textlänge) dann die rechte Seite des Buttons. Der Contenttype ist auf Image gesetzt und so behandelt dein Code die Rückgabe eben als solches. Siehe dazu im Namespace "System.Drawing" nach. Hier findest du auch viele Beispiele um Grafiken im Handler zu erzeugen und im Code zu nutzen. Gruß, Thomas
  13. Hallo! Es gibt ja leider erstmal nur die Möglichkeit eine Grafik für ein Element anzugeben. Die Grafiken liegen im 12er-Hive: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES Hier kann man natürlich auch eigene Grafiken ablegen und einem Control(oder Feature) zuweisen. Hier denke ich liegt auch das Problem... Eben eine Grafik. Ihr bräuchtet ja eigentlich eine Grafik für den linken Rand, danach den dynamisch großen Mittelteil und dann den rechten Rand. Hab ich das so weit richtig verstanden? Dazu fällt mir ehrlich gesagt keine schlaue Lösung ein, aber würde es nicht ausreichen eine Grafik für den gesamten Button zu entwerfen? Was man natürlich tun kann is es einen HTTP-Handler zu programmieren dem Du die Buttonbeschriftung übergibst. Dieser baut die Grafik in einer dynamischen Größe zusammen und gibt sie dann an den Aufrufer zurück. Als Image-Link dann den Handler mit den Parametern setzen. img=http://server/GetButton.ashx?text=Hier steht der Menütext Aber vielleicht gibts da auch viel bessere Möglichkeiten, wie gesagt nur eine Idee. Gruß, Thomas
  14. Hallo, nur mal so aus Interesse... Warum erstellst Du keine WPF-Anwendung? Wenn Dir die Controls gefallen (ich sehe das auch so ) kannst Du doch XAML schreiben oder die IDE dafür nutzen. Gruß, Thomas
  15. Hallo, kannst Du dein Problem etwas genauer beschreiben? Welche Menüleiste? Welche Buttons? Mit welchen Werkzeugen arbeitest Du? Oder passt Du nur über die Oberfläche an? Gruß, Thomas
  16. .NETter

    MicrosoftReportViewer

    Hallo, ich nehme jetzt einfach mal an Du möchtest einen lokalen Bericht erzeugen und nicht die Reporting Services nutzen? Sieh Dir folgenden Link an: Erstellen von Client-Berichtsdefinitionsdateien (RDLC) Was Du suchst sind (Report Definition Language Client, kurz RDLC-Dateien). Im Gegenzug gibt es auch RDL-Dateien die mit den Reporting Services im SQL Server genutzt werden(und diese werden auch dort abgelegt). Gruß, Thomas
  17. Hallo, leider erst eine späte Antwort da ich ein paar Tage nicht da war... Meine Bezeichnung "Fixum" für den Ausführungsplan war ungünstig gewählt! Der SQL Server hält den Ausführungsplan vor, kann aber auch (wie du über den Oracle 11g gesagt hast...) den Ausführungsplan sagen wir mal "neu überdenken". Hier werden auch die unterschiedlichen Ausführungszeiten für eine Neuerstellung herangezogen (auch mehrfache Pläne sind möglich). Aber ich denke es ist auch völlig Sinnfrei hier den alten Krieg MS SQL Server gegen Oracle loszutreten, da ich denke, dass beide durchaus ihre Daseinsberechtigung besitzen. Gruß, Thomas
  18. Hallo Dim, natürlich kann man eine SP schreiben die einfach ein SQL-Statement entgegen nimmt und dieses dann ausführt. "Works as designed" würde ich sagen. Aber das wäre ja der Missbrauch einer SP. Natürlich cached der SQL Server auch bereits eingegangene SQL´s. Aber auch nur solange wie eine Verbindung von der Anwendung aufrecht erhalten wird. Wird die Anwendung geschlossen und neu gestartet so werden die gleichen SQL-Statements erneut ausgeführt nur in einem neuen Kontext, was zur folge hat, dass der SQL Server diese erneut prüfen muss. Ein Ausführungsplan ist ein Fixum. Da gebe ich Dir völlig Recht! Der Benutzer muss sich am Server und dann an der Datenbank anmelden. Klar, anders geht´s ja nicht. Wie gesagt sollte man von der integrierten Sicherheit nur im absoluten Ausnahmefall abweichen. Es gab in meinen bisherigen Projekten immer die Vorgabe keinem Benutzer Rechte an Tabellen zu geben. Hmm, wo ist der Unterschied im Arbeitsaufwand? Ob ich das SQL nun in der Anwendung hinterlege oder in einer SP... Schreiben muss ich so oder so. Ich habe vor einem halben Jahr eine Anwendung von Sybase zu SQL Server migriert. 2200 Stored Procedures! Ich war sehr dankbar über Stored Procedures, sonst hätte ich in einer Anwendung Dinge ändern müssen die ich nicht geschrieben habe. Also irgendwo muss ich diese Datenschicht eh erzeugen. Und zusätzlich eine Schicht in der Anwendung die mir als Object-Relation-Mapper (z.B. Entity Framework) dient. Es ist absolut gang und gäbe eine solche Schicht mit SP´s zu erzeugen. Daher auch "API der Datenbank". Übrigens auch für Oracle. Für eine öffentliche Verwaltung habe ich eine Anwendung auf Oracle-Datenbasis schreiben müssen und auch diese nur in SP´s abgelegt. Alle schön als Package, da auch hier die Vorgabe war keinem Benutzer irgendwelche Berechtigungen an Tabellen zu erteilen. Die Wartbarkeit ist somit auch viel einfacher, weil ich hier nur am SQL- oder Oracle-Server eingreifen muss. Im schlimmsten Fall habe ich eine Formsanwendung und entdecke nach dem Rollout doch noch einen Fehler oder irgendeine Änderung muss noch implementiert werden. Dann muss ich vielleicht für mehrere tausend Benutzer ein Update oder sogar eine neue Version der Software bereitstellen um ein fehlerhaftes SQL-Statement abzuändern. So gehe ich kurz zum Datenbankserver, ändere die SP und gut. Gruß, Thomas
  19. Hallo, Sicherheit sogar ganz Sicher! Und Performance sowieso weil: Der SQL Server legt für jede Stored Procedure einen Ausführungsplan an, was bedeutet er muss kein SQL Statement prüfen ob es syntaktisch richtig ist und ob angegebene Tabellen und Felder überhaupt vorhanden sind. Speziell angelegte User? Für den Datenbankzugriff? Wo hinterlegst Du dann die Anmeldedaten? Im Quellcode? Ressourcendatei? Windows integrierte Sicherheit ist hier die bessere Lösung bzw. sollte im Internet dem ASP-User ein entsprechendes Recht eingeräumt werden. Das hinterlegen von Anmeldeinformation auf irgendeine Art sollte absolute Ausnahmen bleiben auch wenn sie verschlüsselt hinterlegt sind. Natürlich kommen Anforderungen an den SQL Server rein aus der Anwendung, aber gerade hier ist der Einsatz von Stored Procedures absolut ratsam. Sie werden auch API der Datenbank genannt und so sollte man es auch halten. Änderungen können so rein am SQL Server vorgenommen werden ohne die Anwendung anfassen zu müssen (vorausgesetzt die Signatur der SP bleibt die selbe). So hat man den Grundstein für Mehrschichtige Anwendungen. Die View erledigt sich mit einer SP natürlich, da sie selbst Daten zurück gibt. Das Berechtigungssystem ist im SQL Server doch schon vorhanden... Schemata, Rollen. Berechtigungen setzen und gut... Gruß, Thomas
  20. Hallo, wenn sich die Beschränkung auf bestimmte Inhalte bezieht wie z.B.: - Bestimmte User sollen nur Datensätze der Kostenstelle 123 sehen können Würde ich eine View erstellen welche diese Daten filtert und dem eingeschränkten Benutzer zur Verfügung stellt. Am besten wäre es allerdings garkeinem User irgendwelche Berechtigungen an Tabellen oder Views zu geben!!! Gespeicherte Prozeduren und Funktionen bieten hier eine viel höhere Sicherheit und auch Performance. Schreibe eine Prozedur oder Funktion die entsprechende Daten zurück gibt und nutze diese in der Anzeige. (Und natürlich auch zum Ändern und Anfügen.) Die Benutzer erhalten nur das Recht "Execute" und gut :-) Ein versierter User weiß sehr wohl mit Access oder Excel umzugehen und kann sich so mit einem anderen Programm Zugang zu Daten verschaffen (ODBC-Verbindung)... Man glaubt nicht wie erfinderisch selbst eine Sekretärin sein kann, um dann doch anders als gewollt mit den Daten zu arbeiten (Selbst erlebt) Gruß, Thomas
  21. Hallo, ja das ist so weit kein Problem. Du hast bei der Installation von MOSS bzw. der WSS die Möglichkeit einen MS SQL Server für die Content Database auszuwählen, der durchaus auch auf einer anderen Maschine laufen kann. Du wirst nur Gewisse Dinge in Punkto Sicherheit einstellen müssen. Gruß, Thomas
  22. Hallo, wenn Du in der Erwartung leben solltest ein simples Projekt in Visual Studio erstellen und deployen zu können, muss ich Dich leider enttäuschen. Du musst Dich zunächst mit der grundlegenden Dingen der WSS auseinander setzen. Vor allem ist hier der interne Aufbau der WSS sehr wichtig! (Was ist ein Web?, Was ist eine Site?, Was ist ein RootWeb? Eigene Seiten-, Listentypen, Websitespalten oder ContentTypes uvm. musst Du wenn du VS2008 benutzen möchtest als "Feature" veröffentlichen. (Suche bei Google mal nach "WSS Feature") Hier mal ein Mini-Feature: WSS 3.0 Features - Teil 1 - Sharepoint Blog Ein kleiner Lichtblick für das anpassen von Seiten (z.B. Masterseite). Benutze den SharePoint Designer. Der ist mittlerweile nach einer Registrierung kostenlos. Dieser "muss" auf dem Server auf dem die WSS laufen installiert werden. Dann kannst Du eine bestehende Seite öffnen und anpassen. Auf dieser Seite findest Du ein paar hilfreiche Einsteigertipps aus mehreren Bereichen: Downloads - SharePoint-Tutorials Hier kannst Du den SharePoint Designer herunterladen: Downloaddetails: SharePoint Designer 2007 Wenn Du wirklich in SharePoint-Entwicklung einsteigen willst ist ein gutes Buch unerlässlich. Visual Studio ist hier meiner Meinung nach nur ein Hilfsmittel für Intellisense und natürlich Quellcodeverwaltung. Die Entwicklung ist fast ausschließlich reines Schreiben von XML-Dateien in bestimmte Ordner. Plugins können einem das Leben manchmal auch etwas einfacher machen wie zum Beispiel die WSPBuilderExtensions für Visual Studio. Für das Deployment gibts WSS-Werkzeuge z.B. stsadm.exe Ich hoffe jetzt nicht allzuviel Verwirrung gestiftet zu haben :-) Ich musste mich vor Monaten damit auseinander setzen... schön ist was Anderes. Gruß, Thomas
  23. SharePoint macht da keine Probleme. Bei der Installation hast du die Möglichkeit eine neue Content Database anzulegen. Lies aber vorher mal nach welchen Installationsmodus du dann auswählen musst. Bei der Express Edition beachte bitte die Einschränkungen im Bezug auf Prozessor und Ram. SharePoint kann ziemlich gierig sein.Auch mehrere Instanzen vom Express nutzen immer nur den ersten Prozessor einer Maschine! Gruß,
  24. Hallo, hier mal ein kleines Beispiel mit einem Thread. Hier fehlt noch jedes Exceptionhandling also bitte noch ausbauen. Beim Click auf den Button wird die Progressbar bis zum Maximum gefüllt. Da dies alles in einem Thread läuft, kann das Fenster sogar verschoben werden ohne, dass die Darstellung des Fortschritts beeinträchtigt wird. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; namespace _ProgBar { public partial class Form1 : Form { int pbMaxVal = 100000; private delegate void UpdatePBar(int NeuerWert); public Form1() { InitializeComponent(); progressBar1.Value = 0; progressBar1.Maximum = pbMaxVal; } private void cmdStart_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(DoProgressbar)); t.Start(); } private void DoProgressbar() { for (int i = 0; i <= pbMaxVal; i++) { progressBar1.Invoke(new UpdatePBar(this.UpdateMyProgressbar), new object[] { i }); } } private void UpdateMyProgressbar(int NeuerWert) { progressBar1.Value = NeuerWert; } } } Gruß, Thomas
  25. Hallo! Dein Code läuft einwandfrei. Nur schön ist was Anderes :-) Du "verteilst" Strings über die Spalten der GridView. Hier mal Dein Code mit zumindest etwas Ansatz von OOP. Wie gesagt, nur ein ein Ansatz: public partial class _Default : System.Web.UI.Page { private List<MyRow> MyRows = new List<MyRow>(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { FillMyRows(); DataTable dt = FillGrid(); if (dt.Columns.Count > 0) { GridView1.DataSource = dt; GridView1.DataBind(); } } } private void FillMyRows() { MyRows.Add(new MyRow("Datei 1", DateTime.Parse("01.01.2007"))); MyRows.Add(new MyRow("Datei 2", DateTime.Parse("01.01.2008"))); MyRows.Add(new MyRow("Datei 3", DateTime.Parse("01.01.2009"))); MyRows.Add(new MyRow("Datei 4", DateTime.Parse("01.01.2010"))); } DataTable FillGrid() { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("Datei", typeof(string)); dt.Columns.Add("Datum", typeof(DateTime)); foreach (MyRow m in MyRows) { DataRow row = dt.NewRow(); row["Datei"] = m.Col1; row["Datum"] = (DateTime)m.Col2; dt.Rows.Add(row); } ds.Tables.Add(dt); return dt; } class MyRow { public MyRow(string ColWert1, DateTime ColWert2) { col1 = ColWert1; col2 = ColWert2; } private string col1; public string Col1 { get { return col1; } set { col1 = value; } } private DateTime col2; public DateTime Col2 { get { return col2; } set { col2 = value; } } } } Einfach eine Klasse erstellen die Daten entsprechend deiner Vorstellungen hält. Hier im einfachsten Falle MyRow und eine generische Liste mit dem Namen MyRows. So bringst Du auch mehr Typensicherheit ein da Du ja auch ein Datum verwendest. Du kannst hier noch eine kapselnde Klasse schreiben die die einzelnen MyRow als ein Liste o.ä. hält. Die Klasse sollte Dir auch Direkt ein DataSet oder eine DataTable für die Datenbindung zurückgeben. So musst Du nicht immer den Code anfassen wenn sich Datenstrukturen ändern! Gruß, Thomas

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...