Startseite

Über Jürgen A. Becker

Impressum

CAD-Dienstleistungen

Schulungsangebot

Archiv für April 2010

.Net-Framework: Umwandlung von Strings in Zahlenwerten

Montag, 26. April 2010

Sollen Zahlenwerte aus Datenbanken oder XML-Dateien ausglesen werden, stehen diese Zahlenwerte als Datentype string zur Verfügung. Eine Umwandlung ist somit erforderlich.

Ich möchte hier Möglichkeiten vorstellen, wie dieses mit Hilfe von DotNet-Methoden möglich ist.

Möglichkeit 1:

Die Convert-Klasse stellt Methoden zur Umwandlung zur Verfügung.

Beipiel einer Umwandlung in einen Double-Wert.

Convert.ToDouble("1234,45");

Diese Methode birgt eine Gefahr. .Net wirft eine Exception, wenn eine Umwandlung nicht möglich ist.

Möglichkeit 2:
Die Datentyp double besitzt die Methode “TryParse”, die eine Umwandlung versucht. Sie gibt als Ergebnis den umgewandelten Wert und den Erfolg der Umwandlung als boolscher Wert true oder false zurück.
Die Enummerierung System.Globalization.NumberStyles definiert die Art der gewünschten Zahlendarstellung.
Der Ausgabewert als letzter Parameter ist das Ergebnis der Umwandlung.

Jeder weitere Datentyp besitzt diese Methode zur Umwandlung, wobei darauf zu achten ist, dass der NumberStyle und der Ausgabewert dem Datentyp entspricht.

using System.Globalization;


private string hValue = "";
private double doubleVal;
private bool result;
   
Gegebenenfalls ein Komma in einen Punkt oder umgekehrt umwandeln
hValue = hValue.Replace(',', '.');

result =
  double.TryParse(hValue, NumberStyles.Number, null, out doubleVal);
if (result == true)
{
  hString.Wechselrichter.Preis = doubleVal;
}
else
{
  hString.Wechselrichter.Preis = 0.0;
}

Viel Spaß beim Ausprobieren

Autor: Dipl.-Ing. Jürgen A. Becker
Kontakt: Juergen.Becker@CAD-Becker.de oder Juergen.Becker@AUGI.COM

  • Langjährige Schulungserfahrung
  • Autorisierter AutoCAD Trainer (AutoCAD, Mechanical Desktop etc.)
  • Software- und Datenbankentwicklung

.Net-Framework: ADO.Net - Datenbankverbindung aufbauen -

Sonntag, 25. April 2010

Nach langer Zeit ohne Blogging möchte ich einige Artikel zum Thema Nutzung von Datenbank in .Net mit Hilfe von ADO.Net.
Dieses Thema hat nicht unmittelbar mit AutoCAD zu tun, ich stelle aber bei vielen Projekten fest, dass eine Nutzung einer SQL-Datenbank z.B. um Stammdaten zu verwalten auch im Umfeld von AutoCAD hilfreich ist.

Der erste Artikel befasst sich mit dem Aufbau einer Datenbankverbindung.

Die Klasse SqlConnection des Namespaces System.Data.SqlClient stellt die Methoden und Eigenschaften ein Datenbankverbindung zur Verfügung.
Um eine Datenbankverbindung aufzubauen, wird ein ConnectionString zusammengesetzt.
Dieser ConnectionString beinhaltet folgende Definition:

Server SQL-Server
Der Datenbank-Servername bestehend aus Computername des Servers auf dem die Datenbank läuft und der Name des SQL-Server.

Microsoft-Access
Wird nicht benötigt.
Data Source SQL-Server
Der Name der Datenbank

Microsoft-Access
Name der Datei
Integrated Security Definiert Art der Anmeldung des Benutzers fest. Ist nur beim SQL-Server anzugeben, da der SQL-Server selbst eine Benutzerberechtigung besitzt. Die Angabe SSPI bedeutet, dass der SQL-Server der Windows-Anmeldung vertraut.

Hier der Code, der eine Datenbankverbindung aufbaut. Er ist Bestandteil einer umfangreichen Datenverbindungklassse, somit ist eine vollständige Anzeige nicht möglich.

switch (hProvider) {
  case "SQLOLEDB":
   if (hServer != null) {
     hConnectionString =
        "Data Source=" + hServer +
        "; Initial Catalog=" + hDataSource +
        "; Integrated security=SSPI";                      
     hSqlConnection = new SqlConnection(hConnectionString);
     hSqlConnection.Open();
     hFehler = 0;                          
  }
  else {
    hFehler = 1;
  }                            
  break;
 case "Microsoft.Jet.OLEDB.4.0":
   hConnectionString =
      "Provider=" + hProvider +
      "; Data Source=" + hDataSource + "; ";
   hConnectionString = hConnectionString +
     "Persist Security Info=False; Mode=ReadWrite;";
   string hCOn = hConnectionString;
   hOleDBConnection =
       new System.Data.OleDb.OleDbConnection(hConnectionString);
   hOleDBConnection.Open();
   hFehler = 0;                            
  break;
}

Viel Spaß beim Ausprobieren

Autor: Dipl.-Ing. Jürgen A. Becker
Kontakt: Juergen.Becker@CAD-Becker.de oder Juergen.Becker@AUGI.COM

  • Langjährige Schulungserfahrung
  • Autorisierter AutoCAD Trainer (AutoCAD, Mechanical Desktop etc.)
  • Software- und Datenbankentwicklung