Announcement

Collapse
No announcement yet.

Kommazahlen in ADO (auf Access)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kommazahlen in ADO (auf Access)

    Moin!
    Habe ein seltsames Problem: D6, ADO Express (D6 eingebaut), Access.

    Eine ADOQuery (wurde mal von BDE umgesetzt) macht ein insert mit lauter Parametern.
    Nur er ignoriert das Komma: Aus 20,5 wird 205; aus 123,45 wird 12.345.
    'Beheben' kann ich das, indem ich vor der Zuweisung der Parameter
    Query_X.Parameters.ParamByName('XYZ').DataType:=Qu ery_X.Parameters.ParamByName('XYZ').DataType;
    mache. Aber das muss ich bei *jedem* Schleifendurchlauf machen.

    Infos:
    Query ist zur Designzeit gefüllt, und die Typen wurden zur Designzeit gesetzt.
    Außerdem: Wenn ich das ganze über MS-SQL laufen lasse, klappt es. (Unsere Anwendung ist so gestrickt, das beide 'Datenbanken' unterstützt werden.)

    Was mache ich falsch? Wie kann ich das korrigieren.

    MFG Ralph Erdt

  • #2
    Probier mal statt ADODataset statt ADOQuery

    Comment


    • #3
      Danke für die Antwort, aber es ist nicht möglich.

      Es geht um ein Insert (Sorry, vergessen zu erwähnen , daher habe ich ein ADOCommand verwendet. Aber es treten die gleichen Probleme auf

      Comment


      • #4
        Hmpf.

        Um weiterzukommen, mache ich jetzt folgendes in jedem Schleifendurchlauf.

        for i:=0 to param.Count-1 do begin
        if param[i].DataType<>ftunknown then begin
        param[i].DataType:=param[i].DataType;
        end;
        end;

        Ist zwar äußerst unschön, aber hauptsache es funktioniert ... :-

        Comment


        • #5
          Hallo,<br>
          a) hast du mal eine neue Query verwendet und bei den Parameter alle aufgelistet
          und jeden einzelnen angeklickt?<br>
          b) was steht im .dfm-File<br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wenn DataType&lt;>ftunknown dann ist auch
          was nicht definiert<br>
          c) wie ist der Datentyp in Access und wie lautet er unter MSSQL inkl
          zusätzlichen Angaben wie Länge und Präzision, etc.<br>
          d) ist die Gleitkommazahl ein Datenbankfeld oder ein berechneter Wert z.B.
          DBFeld * 3.141?<br>
          Gruss Dietma

          Comment

          Working...
          X