tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
203
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von tecla
    tecla tecla ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    163
    Salut zusammen

    Damit meine SQL-Statements klappen, ersetze ich sämtlich Hochkommas, die vom Benutzer eingegeben werden, mit der Zeichenfolge $§$ bevor ich den String in die Datenbank reinschreibe. Wenn ich die Daten aus der Datenbank hole, mache ich dasselbe umgekehrt.
    Nun möchte ich die Daten in einem Report darstellen. Dazu fülle ich ein Dataset mit den Daten aus meiner Datenbank. Nun tauchen natürlich statt der Hochkommas lauter $§$-Zeichenfolgen in meinem Report auf.

    Gibt es eine Möglichkeit, die Daten im Dataset zu bearbeiten (mag das überhaupt Hochkommas?) oder gibt es eine Funktion in den Textfeldeigenschaften des Reports, die mir die Zeichenfolgen wieder mit den Hochkommas ersetzt?

    Oder wie löst ihr das Problem mit den Hochkommas?

    Herzliche Grüsse, Tecla
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Ich versteh das Problem mit den Hochkomma nicht
    Sorry, aber ich muss das Pferd versuchen von der anderen Seite auszuzäumen
    Wieso kannst du diese nicht in der DB speichern? Was sind das für Felder, die dich dazu zwingen?
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Avatar von tecla
    tecla tecla ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    163
    Wenn ich ein Hochkomma im String hab, krieg ich eine Fehlermeldung der Datenbank zurück, weil das Hochkomma für die Datenbank das Zeichen ist, dass der String abgeschlossen ist.

    Bsp.

    Code :
    1
    
    "INSERT INTO person VALUES ('Müller','Hans')"
    klappt
    Code :
    1
    
    "INSERT INTO person VALUES ('O'Conner','Paul')"
    klappt nicht

    drum mach ichs so:
    Code :
    1
    
    "INSERT INTO person VALUES ('O$§$Conner','Paul')"

    Auf bessere Lösungen bin ich sehr gespannt...

    Grüsse, Tecla

    PS. Die Textfelder kommen erst beim Report zum Spiel. Das sind die Felder, mit denen man den Report zusammenstellt. Und da gibt es ja die Möglichkeit, die Daten noch mit Funktionen zu bearbeiten.
    ZB. Kann ich mit der Funktion
    Code :
    1
    
    =IIf(Fields!AdressatName.Value="0", "", Fields!AdressatName.Value + " " + Fields!AdressatVorname.Value)
    bestimmen, wie leere Datenbankeinträge erscheinen sollen...
     

  4. #4
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    hi,

    Dann ist der Weg, wie du die Daten in die DB bringst nicht der richtige
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder();
                sb.DataSource = @"dbserver";
                sb.UserID = "user";
                sb.Password = "password";
                sb.InitialCatalog = "dbname";
                using (SqlConnection con = new SqlConnection(sb.ConnectionString))
                {
                    con.Open();
                    using (SqlCommand command = new SqlCommand("INSERT INTO table (id, name) VALUES (@id, @name)", con))
                    {
                        command.Parameters.Add(new SqlParameter("@id", 1));
                        command.Parameters.Add(new SqlParameter("@name", @"gibt's"));
                        command.ExecuteNonQuery();
                    }
                }
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  5. #5
    Avatar von tecla
    tecla tecla ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    163
    Hallo Nico

    Herzlichen Dank für den Tipp mit den Parametern!! Unglaublich, wie schöne Lösungen es gibt!

    Mit meiner MySql-Datenbank musste ich noch ein bisschen üben. Mindestens mit meiner .Net-Connector - Version von MySql funktioniert das ganze nur, wenn man das "@" mit einem "?" ersetzt in den Parameter-Variablen.

    Jetzt läufts aber. Und ich mach mich mal ans Umschreiben meiner Datenbank-Klassen!

    Herzliche Grüsse und nochmals Danke

    Tecla


    EDIT: Sorry, aus unerfindlichen Gründen kann ich deinen Beitrag nicht bewerten. Tutorials meldet, ich müsse erst jemanden anderen bewerten...
     

Ähnliche Themen

  1. Daten fehlen im Report
    Von ELW im Forum .NET Datenverwaltung
    Antworten: 0
    Letzter Beitrag: 01.02.08, 17:45
  2. crystal report Daten aus DB in Bericht einfügen
    Von keks1984 im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 05.10.07, 11:34
  3. Prüfen, ob Daten im Report vorhanden sind
    Von C1audi im Forum .NET Café
    Antworten: 0
    Letzter Beitrag: 27.03.07, 12:22
  4. Crystal Report Items aus Dataset füllen ?
    Von MFC openGL im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 08.11.05, 13:52
  5. Crystal Report und DataSet (Mysql)
    Von Marc1980gti im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 20.01.05, 10:08