Probleme mit SQL_Datenbankanbindung
-
Irc? und wenn ja, welchem Server?
-
Hab oben nen Link nachgepflegt.
irc.de.euirc.net
-
sorry ich war weit von PC.
also ich mache es anders.
view klass ist zwar verbunden mit m_pSet ...welche der assistenten erzeugt hat.
aber für 2te oder 3te klasse brauch ich kein m_pSet mehr.
Z.B.für View klasse was für uns bekannt ist
# include"meinview.h" m_pSet->MoveFirst();
für 2te klasse
#include "2teklass.h" 2teklass::MoveFirst(); 2teklass::AddNew(); 2teklass::Update();
oder eigene funktion in der 2teklasse heisst docheck();
{ 2teklass::Open(); docheck(); 2teklass::Close(); }
-
Naja das mitm m_pSet nachbauen funktioniert ja nun. Hab aber noch 2 Probleme. 1.) Muss ich die KundenNr die er automatisch in der Tabelle hochzählt beim einfügen vom datensatz auch in ne andere Tabelle mit übergebn, bloss er zählt ja erst hoch wenn der Satz in der DB gespeichert ist
2.) Wie speicher ich nen Datum?
-
1.) Lade Tabelle1 neu, dann hast du die neue ID und speicher dann erst Tabelle2.
2.) Als COleDateTime - wieso?
-
1.) Hmm denn muss ich das Kind erst danach speichern und nicht mit den Kundendaten zusammen.
2.) Hatte ich mal kurz getestet da hat er mir aber schon irgendwas gleich ausgeben und ne Zeit brauch ich ja nicht. Muss ich denn noch mal testenAch ja mit der Kombobox müsstest du mir vllt nachher noch mal helfen wenn ich zuhause bin, wäre nett
-
2.) Je nach DBMS kannst du gar nicht "nur ein Datum" speichern.
3.) Kommt drauf an, wann das ist - ich idle rum, einfach wecken.
-
2.) Das ja irgendwie ziemlich scheisse
Hoffe bei Sql geht das einfach so
3.) So gegen 12:30 denke ich
-
2.) Das verträgt sich ziemlich gut, keine Sorge.
Ich habs schon mit MySQL, Pervasive und MS-SQL durch. Das schlimmste ist, wenn du dsa DBMS änderst.
3.) Okay, bis 13:00 hab ich Pause, danach wirds erst nach 15:00 was.
-
- Denn bin ich ja beruhigt
- Bin nun erst zuhause
muss mich auch erstmal wieder aufwärmen :p
-
*lol* bis 13 Uhr da, dein Post kommt 13:01 Uhr
-
Gut, dass es manchmal anders kommt als geplant.
-
Tach auch
zu 1.) das neu laden funzt ja soweit so gut. Bloss ich will denn ja im Grunde dem Feld fürs Speichern der KundenNr in der 2. Tabelle sagen das er die grade eingetragene nehmen soll. So nachm Motto m_pSet->m_KundenNr=m_pSet2->m_KundenNr, also das er sich die KundenNr aus den Kundendaten holt und denn auch gleich in die andere Tabelle als KundenNr gespeichert wird. Aber irgendwie übergibt er so nicht die KundenNr ins andere Feld
-
Rufst du es vielleicht falschherum auf?
m_pSet->m_KundenNr=m_pSet2->m_KundenNr; // oder? m_pSet2->m_KundenNr=m_pSet->m_KundenNr;
Bei so gleichen Namen kommt man so schnell durcheinander.
Sonst zeig mal den ganzen Block.
Was sagt der Debugger?
-
Also Debugger sagt nix. Er speichert halt bloss die KundenNr nicht in der 2. Tabelle und im Editfeld wird auch nix angezeigt.
Hmm eben hat es gefunzt, er hat zwar die Nummer gespeichert in der 2. Tabelle aber ned im Feld angezeigt, was aber auch ned so wichitg ist :>
-
NUn geht es wieder ned ich dreh durch Oo
Edit: Also wenn ich pset2 = pset mach trägt er null ein, anders rum auch aber dazu macht er noch im edit feld der 1. kundennr ne 123456789void CTest3View::OnSave() { UpdateData(true); m_pSet->Update(); m_TerminNachname=m_pSet->m_Nachname; if (m_pSet->CanRestart() && m_pSet->IsOpen()) { m_pSet->Requery(); m_pSet->MoveLast(); } UpdateData(false); GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE); }
Das mach ich ja wenn ich die Kundendaten speicher.
Denn hab ich erstmal nen Zwischen button eingebaut um das zu testen:void CTest3View::OnKundenKind() { UpdateData(true); m_pSet2->m_KundenNr2=m_pSet->m_KundenNr; UpdateData(false); }
Ich hatte extra noch mal die KundenNr in der 2. Tabelle in m_KundenNr2 überall umgeändert, dachte daran liegts vllt
Edit: Ich glaub als es ging hatte ich die variablen ned geändert Oo vllt leigts daran
-
Also, ohne Code kann ich nur raten.
-
Ist ja nun rein editiert :>
-
In dem Code fehlt mir ein Block, den ich nicht erkennen kann.
Da muss irgendwo sowas in der Art stehen:Set->Edit(); // Oder AddNew(); -- Das schaltet zum "Eingeben" frei. Erst danach ist Füllen sinnvoll. Set->m_Nachname = "Bla"; // Füllen Set->Update(); // In DB schreiben // Optinal Set->Requery(); // Neu laden
Ich finde nichtmal Edit oder AddNew.
Und das Update ist VOR dem Füllen der Variablen.
-
ich denke mal, mit dem updatedata werden nur werte aus formularen übernommen.