Zum Inhalt springen

Rangliste


Beliebte Inhalte

Anzeigen von Inhalten mit der höchsten Reputation auf 12/28/2019 in allen Bereichen

  1. 1 Punkt
    Ah na dann, ich hab einfach mal eine Klasse Testweise genommen, da ich keine Ahnung hatte was seine Klasse für ein Kürzel haben wird Bei uns in München hatten wir Sportunterricht, wobei ich den auch nicht hatte weil ich es für Zeitverschwendung (ich hasse Fußball und der Lehrer konnte scheinbar nix anderes) gehalten habe und ich alt genug bin selbst zu entscheiden wann, wie und wo ich Sport mache und habe mich befreien lassen ?‍♂️
  2. 1 Punkt
    Noch ein paar Änderungsvorschläge zu @el_pollo_diablos Lösung: Die Klassenvariable _connection mach keinen Sinn, da sie nur in der Methoe CreateTable() benötigt wird. Das wäre dann eher ein Zeichen dafür, dass diese Methode nicht zur Klasse gehört. Den Dateinamen zur db-Datei würde ich auch über den Konstruktor reinreichen. Das macht die Klasse flexibler, da man dann unterschiedliche Dateien ansprechen könnte. z.B. eine Produktiv- und eine Test-Datei. Wenn man mit using arbeitet, dann braucht man auch nicht explizit Close() aufrufen, um die Verbindung zu trennen, da dies schon das Dispose() übernimmt, was aufgerufen wird, wenn man using verwendet. using System.Data.SQLite; public class AzDBController { private readonly string dbFileName; private readonly string connectionString; public AzDBController(string dbFileName) { this.dbFileName = dbFileName; this.connectionString = this.CreateConnectionString(); this.CreateTable(); } private string CreateConnectionString() => $"Data Source={this.dbFileName}; Version=3"; public SQLiteConnection GetConnection() { var connection = new SQLiteConnection(connectionString); connection.Open(); return connection; } private void CreateTable() { var sql = @"CREATE TABLE IF NOT EXISTS Kunden ( IDKunde INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , Vorname VARCHAR(200) , Nachname VARCHAR(200) )"; using var connection = this.GetConnection(); using var command = new SQLiteCommand(sql, connection); command.ExecuteNonQuery(); } } Jetzt könnte man sich noch überlegen, ob CreateTable() hier überhaupt sinnvoll ist oder doch nicht lieber in eine separate Klasse auslagert. Wenn man es auslagert, hätte man dann eine Klasse, die die Verbindung zur db-Datei handhabt und eine Klasse, die für die Strukturen der Tabellen zuständig ist.
  3. 1 Punkt
    Fangen wir mal mit dem offensichtlichsten Problem an: Das SQL-Statement ist schlicht und ergreifend fehlerhaft... Es fehlt das ");" am Ende. Solche Fehler findest Du am einfachsten, wenn Du das Statement einfach mal über das CLI oder alternativ über irgendeine grafische Oberfläche direkt ausführst. Danach geht es im C#-Code weiter: SQLiteConnection.CreateFile(path); ist ab SQLite-Version 3 wohl nicht mehr erforderlich und die Funktionalität wird von der "Open()"-Methode mit abgedeckt. Jedoch ist sehr wohl ein gültiger Connection-String notwendig... In der Methode "GetConnection()" wird zwar der Pfad zusammengebaut, jedoch fehlt mindestens noch "Data Source=" vornweg. In der Methode "CreateTable()" wird nochmals der Versuch unternommen, einen Connection-String zu bilden, aber leider nur mit dem Dateinamen. Wenn man alles berücksichtigt und unnötiges entfernt, kann das Resultat dann zum Beispiel so aussehen: using System.Data.SQLite; using System.IO; class AzDBController { SQLiteConnection _connection; public AzDBController() { _connection = GetConnection(@"C:\Projects\sqlitetest\sqlitetest\bin\Debug", "SQLite.db"); CreateTable(); } public SQLiteConnection GetConnection(string dbDirectory, string dbFileName) { var dbFullPath = Path.Combine(dbDirectory, dbFileName); var connectionString = string.Format(@"Data Source={0}; Version=3", dbFullPath); var connection = new SQLiteConnection(connectionString); connection.Open(); return connection; } public void CreateTable() { var sSQL = @" CREATE TABLE IF NOT EXISTS Kunden ( IDKunde INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , Vorname VARCHAR(200) , Nachname VARCHAR(200) ); "; SQLiteCommand command = new SQLiteCommand(sSQL, _connection); command.ExecuteNonQuery(); _connection.Close(); } } Für den stressfreien Anfang würde ich mir angewöhnen, SQL-Statements ähnlich wie das obenstehende zu schreiben, da man sie dann problemlos via Copy&Paste in das CLI oder eine grafische Oberfläche bekommt. Mit mehr Erfahrung wird man das ohnehin schnell ganz anders lösen...
  4. 1 Punkt
    Dann muss man ernsthaft hinterfragen, was die Deutschlehrerin dazu qualifiziert, Bewerbungen so verfassen zu lassen. Eine Bewerbung ist genauso lang, wie sie sein muss, um alles darzustellen, was die Stelle, bei der Du Dich bewirbst, von Dir wissen muss. Man kann natürlich auch Details im Lebenslauf unter den entsprechenden Tätigkeiten aufführen/ausführen. Dein Lebenslauf stimmt also neben der schon von mir beschriebenen Zuordnung von Schule und Ausbildung auch nicht inhaltlich, da Du bereits eine Ausbildung abgebrochen hast. Spätestens beim Vorstellungsgespräch wird Dir diese "ungenaue" Angabe auf und vor die Füße fallen. So etwas interpretiert man gerne als Verschweigen und das kommt bei Unternehmen garnicht gut an.
Diese Rangliste ist auf Berlin/GMT+01:00 eingestellt
  • Newsletter

    Möchtest Du immer über unsere Neuigkeiten auf dem Laufenden gehalten werden?
    Anmelden

Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

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

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung