So lesen Sie aus einer Datei in Winui 3, ohne den Dateipfad zur Laufzeit zu kennenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 So lesen Sie aus einer Datei in Winui 3, ohne den Dateipfad zur Laufzeit zu kennen

Post by Anonymous »

Ich arbeite an einer Winui 3 -App mit mehreren Kollegen von mir. Der Quellcode befindet sich auf GitHub und muss auf mehreren verschiedenen Computern ausgeführt werden. Wir haben auch eine lokale PostgreSQL -Datenbank, in der bestimmte Tabellen für die App ausgeführt werden müssen. Die Klasse prüft, ob jeder der Tabellen vorhanden ist und wenn dies nicht der Fall ist, wird das Skerieren von Tabellen erstellen aus der oben genannten Datei ausgeführt. Aus irgendeinem Grund kann ich den Dateipfad zum Projekt nicht erhalten, geschweige denn in die Datei. Alle Methoden, die ich ausprobiert habe, holen Sie sich nur den Dateipfad zur ausführbaren Datei. < /P>
Dies ist meine Synchronisation mit der Datenbankfunktion. Ich weiß wirklich nicht, wie ich den Projektpath zur Laufzeit und nicht zur ausführbaren Ausführbaren übertragen kann, sondern wo die Datei in der Projektlösung gespeichert ist. < /P>

Code: Select all

public static void syncDB()
{
using NpgsqlConnection connection = new NpgsqlConnection(connectionString);
connection.Open();

string fileName = "Scripts.sql";
var baseDirectoryPath = AppContext.BaseDirectory;

string projectPath = Directory.GetParent(AppContext.BaseDirectory).Parent.FullName;
string filePath = Path.Combine(projectPath, @"App1\SQL Scripts\Scripts.sql", "Scripts.sql");

string sqlScript = File.ReadAllText(filePath);

string[] createTableQueries = sqlScript.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries);

foreach (var query in createTableQueries)
{
string tableName = GetTableNameFromQuery(query);

if (!DoesTableExist(connection, tableName))
{
// Execute the CREATE TABLE query
using (var command = new NpgsqlCommand(query, connection))
{
command.ExecuteNonQuery();
Console.WriteLine($"Table '{tableName}' created successfully.");
}
}
else
{
Console.WriteLine($"Table '{tableName}' already exists.");
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post