Autor Beitrag
Quivadis
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 314

UBUNTU 9.04
D2005 PERS, JAVA, D7 Pers.
BeitragVerfasst: Mo 01.08.05 14:48 
hallo Freunde,

Ich bins mal wider. Programmiere immer noch an meinen Programm für Arbeit weiter. Bin jetzt schon soweit das ich aus dem Programm ein Frame gemacht habe.

Nun zu meinen Problem. Das Programm benutzt die MS SQL-Datenbank und kann lesen und schreiben.
Das Programm als Frame (Proceduren und Funktion sind die gleichen wie im Programm) kann nur aus der DB lesen, aber nicht schreiben.
Ein DB-Problem schliesse ich aus da es mit der gleichen DB mit dem Prog geht.

Kann das am Frame liegen? das er irgendwas anders interpretiert als das Prog..

Fehlermeldungen kommen keine

mfG

Quivadis

_________________
Wissen ist macht, nichts wissen macht auch nichts. ODER: Wer nichts weis, kann nichts vergessen.
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Mo 01.08.05 14:55 
Am Frame an sich kanns eigentlich nicht liegen...

Wär hilfreich, wenn du den entsprechenden Code posten könntest. Mit 'Das Programm' kann ich nicht viel anfangen und deinen alten Thread zu suchen bin ich ehrlich gesagt zu faul für :)

_________________
Bravery calls my name in the sound of the wind in the night...
Quivadis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 314

UBUNTU 9.04
D2005 PERS, JAVA, D7 Pers.
BeitragVerfasst: Mo 01.08.05 14:59 
Hier die Procedure zum Speichern:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
rocedure TFrame_Wunde.Mas_Speichern;
// Speichern des Massstabes aus der DB: "WUNDMARKIERUNGZUORD"
var
  Kpos : integer;
  nx1, ny1, nx2, ny2 : integer;
  wert    : string;
begin
  Mas_Liste_Org;
  with TADOQuery.Create(nil) do
  begin
    try
      try
       ConnectionString:=ADOConnection1.Connectionstring;
     // Datensatz im Zusammenhang mit Bild speichern GUId ist WUNDE_NR
        SQL.Text:='SELECT * FROM WUNDEMARKIERUNGZUORD WHERE WUNDE_NR ='+#39+Wunde_Nr+#39+'';
        Open;
        if Wunde_Nr = (FieldByName('WUNDE_NR').AsString)  then
        begin
          {update WUNDMARKIERUNG}
          edit;
        end
        else
        begin
    //   SQL.Text:='Select * from  WUNDMARKIERUNG where MARKIERUNG_NR IS NULL';
          INSERT;
          FieldValues['WUNDE_NR']:=Wunde_Nr;
        end;

        begin
          wert:=listboxMas.Items[0];
          kpos:=pos(',',wert);
          nx1:= strtoint(copy(wert, 0, kpos-1));
          ny1:= strtoint(copy(wert, kpos+1, length(wert)-1));

          wert:=listboxMas.Items[1];
          kpos:=pos(',',wert);
          nx2:= strtoint(copy(wert, 0, kpos-1));
          ny2:= strtoint(copy(wert, kpos+1, length(wert)-1));
        end;

        TBlobField(FieldByName('MASSSTABX1')).AsInteger := nx1;
        TBlobField(FieldByName('MASSSTABy1')).AsInteger := ny1;
        TBlobField(FieldByName('MASSSTABX2')).AsInteger := nx2;
        TBlobField(FieldByName('MASSSTABy2')).AsInteger := ny2;

        TBlobField(FieldByName('MASSSTABCM')).AsFloat   := Lmassstab_cm;
        TBlobField(FieldByName('MASSSTABPIX')).AsFloat  := Lmassstab_pix;


        WMarkierungszuord_Nr:=FieldByName('WUNDEMARKIERUNGZUORD_NR').AsString;

        Post;

        close;
      except
      end;
    finally
      Free;
    end;
  end;



  Mas_Liste_Zoom;
end;


Wie gesagt lauft als Programm und speichert in DB, als Frame auch kein Fehler , aber speichert scheinbar nix.

_________________
Wissen ist macht, nichts wissen macht auch nichts. ODER: Wer nichts weis, kann nichts vergessen.
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 01.08.05 15:21 
Ich denke, du musst nach dem Post noch ein Commit machen, damit die Daten endgültig in die Datenbank eingetragen werden.

Stefan
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Mo 01.08.05 15:25 
Entweder das oder beim kopieren der Komponenten ist irgendwas vor die Hunde gegangen. Kenn mich jetzt mit ADO leider nicht so wirklich aus.

Gruß

noidic

_________________
Bravery calls my name in the sound of the wind in the night...
Quivadis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 314

UBUNTU 9.04
D2005 PERS, JAVA, D7 Pers.
BeitragVerfasst: Mo 01.08.05 15:33 
@Stefan.Buchholtz:
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Ich denke, du musst nach dem Post noch ein Commit machen, damit die Daten endgültig in die Datenbank eingetragen werden.

Stefan


Diesen Befehl scheint mein Delphi nicht zu kennen.

Kannst du nochmal genauer beschreiben was du meinst?

_________________
Wissen ist macht, nichts wissen macht auch nichts. ODER: Wer nichts weis, kann nichts vergessen.
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 01.08.05 16:06 
user profile iconQuivadis hat folgendes geschrieben:
@Stefan.Buchholtz:
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Ich denke, du musst nach dem Post noch ein Commit machen, damit die Daten endgültig in die Datenbank eingetragen werden.

Stefan


Diesen Befehl scheint mein Delphi nicht zu kennen.

Kannst du nochmal genauer beschreiben was du meinst?


Ich sehe gerade, bei ADO heisst das CommitTrans. Du musst nach dem Post folgende Zeile einfügen:

ausblenden Delphi-Quelltext
1:
ADOConnection1.CommitTrans;					


Keine Garantie dass das so funktioniert, mit ADO kenne ich mich nicht so gut aus.

Stefan
Quivadis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 314

UBUNTU 9.04
D2005 PERS, JAVA, D7 Pers.
BeitragVerfasst: Fr 05.08.05 12:54 
Das Proplem lag gar nicht an der DB, sondern an einer Einstellung in Delphi.

In Delphi unter Objektoptionen kann man ja einstellen ob die Forms automatisch oder von Hand erstellt werden sollen.
Dort war eingestellt das man sie von Hand erstellen muss. Das war leider falsch und verursachte denn oben benannten Fehler, weil ich direkt darauf zugreife.

Danke an alle die mir geholfen haben.

_________________
Wissen ist macht, nichts wissen macht auch nichts. ODER: Wer nichts weis, kann nichts vergessen.