Frage

ich die obige Zeichenfolge gab, möchte ich aus dieser Zeichenfolge, die die ServerIpAddress, DB1, uid und **** diese Werte erhalten.

War es hilfreich?

Lösung

Es gibt keine Notwendigkeit, eine Verbindungszeichenfolge zu analysieren, wenn der BCL kann es für Sie tun:

var builder = new OleDbConnectionStringBuilder(connectionString);
var provider = builder.Provider;
var dataSource = builder.DataSource;
var initialCatalog = builder["Initial Catalog"];
var userID = builder["User ID"];
var password = builder["Password"];

Beachten Sie, dass für eine OLE DB-Verbindungszeichenfolge, nur die Standardquer Anbieter Eigenschaften haben stark typisierte Eigenschaftsnamen, der Rest über den Indexer zugegriffen werden kann.

Andere Tipps

Sie keine regex verwenden.

Analysieren Sie die Verbindungszeichenfolge SqlConnectionStringBuilder und die Schlüssel zugreifen dann aus, dass.

var b = new SqlConnectionStringBuilder(myConnectionString);
var dataSource = b["Data Source"]; 
// etc.

Viel einfacher, wartungsfreundlicher und zuverlässiger.

data source=([^;]*);Initial Catalog=([^;]*);user id=([^;]*);Password=([^;"]*)

Sie haben dann die Spiele in den Gruppen 1 bis 4. Wenn Sie sich langweilen Sie die Gruppen nennen können; hilft Lesbarkeit des Codes, selten, obwohl sich die Lesbarkeit der Regex hilft.

Ist es nicht einfacher Wert aufzuspalten mit ‚;‘ char und spaltete dann jedes Element von '=' char?

Auf diese Weise Ihrer Verbindungszeichenfolge von Nutzern und sogar Artikel geändert werden kann bearbeitet werden konnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top