Zum Inhalt springen

law

Mitglieder
  • Gesamte Inhalte

    30
  • Benutzer seit

  • Letzter Besuch

Beiträge von law

  1. mehr code wäre nützlich und die fehlermeldung vom compiler.

    Desweiteren nutzt du UpdateData(FALSE) wenn du daten aus einem dialog abrufen willst und "TRUE" wenn du sie zurück schicken willst.

    Wenn du das mit UpdateData machen willst mach doch einfach ne Zähler Schleife(for maybe in verbindung mit while).

    keine ahnung ob das so konform is aber funktionieren sollte es , sry bin au erst am anfang wenn sich hier eienr denkt "so ne doofe lösung" :floet:

  2. So ich benutze nun die CDbtest4Set , danke für den Tipp. Ich Navigiere via rs.Open("Select * from user where userid=1"); funktioniert ganz gut.

    Nun hab ich ja den Cursor auf dem Ergebnis der Sql Abfrage. Wenn ich jetzt was ändern will mach ic h das so:

    rs.Edit();

    rs.m_user_rohstoff1=222;

    rs.Update();

    Er Updated das aber nicht in der Database der Wert ist immer der selbe wie vorher ? Das komische ist ja das mir Update() 1 zurückliefert also erfolgreich geupdatet. ich hab es schon versucht mit db.BeginTrans und db.CommitTrans funzt auch nicht, hilfö.

  3. ich komm mir grad irgendwie dumm vor. was heißt ich benutze sie nicht ? und warum kann ich auf die funktion open zugreifen wenn ich die CDbtest4Set nicht nutze. sag mir mal bitte konkret wie ich die funktion nutze und wie ich nen datenfeld zb rohstoff1(id 6) ändern kann. danke :P

  4. Okay habs geschnallt danke :P

    Ich hol mir jetzt die gewünschten sachen per GetFieldValue raus und normalerweise müsste man die felder dann ja auch per SetFieldValue bearbeiten können. Nur sagt mein compiler SetFieldValue ist keine Recordset Funktion see the definition of Recordset

  5. wenn ich rs movenext rausnehme dann gibtarbeitet er ja theoretisch im aktuellen.

    nur mein problem ist ich will auf ein einzelnes datenfeld zugreifen was rohstoffe1 heißt und nur dies will ich ändern aber ich hab da einfach keinen zugriff drauf :confused:

  6. Mein Problem ist bestimmt ganz einfach ^^

    Ich habe ein Recordset das mit Daten einer Mysql DB gefüttert wird. Funktioniert soweit wunderbar nur wenn ich das RS via Edit() ändern möchte geht nichts da ich nicht auf die member variablen bzw felddatenelemente zugreifen kann. für hilfe wäre ich offen hier ist der code:

    
    void CBuildings::OnButtonBuild() 
    
    {
    
    	UpdateData(TRUE);
    
    	CDatabase db;
    
    
    	db.Open("mysql",FALSE,FALSE,_T("cplusplus;c++"));
    
    /*	
    
    	Ist die bessere Methode funktioniert aber nicht
    
    	db.OpenEx(_T("mysq;cplusplus;c++"),CDatabase::noOdbcDialog);
    
    */	
    
    	CRecordset rs(&db);
    
    	CString Wert;
    
    	rs.Open(  CRecordset::forwardOnly, _T( "SELECT * FROM `user` WHERE `user_id`= 1"));
    
       int n = rs.GetODBCFieldCount();
    
    
       CString DatenArray[8];
    
       //wenn IsEof 0 zurück gibt dann gehe weiter in der anweisung denn dann is
    
       //data da also login funzt
    
    
    
    	if( !rs.IsEOF() )
    
    	{
    
    			while( !rs.IsEOF() ) 
    
    		{
    
    			  for( int i = 0; i < n; i++ ) 
    
    			  {
    
    				 rs.GetFieldValue( i, Wert );
    
    				 DatenArray[i]=Wert;
    
    			  }
    
    		rs.MoveNext( );
    
    
    		}
    
    	}
    
    
    	rs.Edit();
    
    	/*
    
            hier hab ich an sowas gedacht:
    
            rs.m_user_rohstoff1=100;
    
            rs.user_rohstoff1=100;
    
    
    	*/
    
    
    	rs.Update();
    
    
    
    
    
    
    
       UpdateData(FALSE);
    
       rs.Close();
    
    
    
       db.Close();
    
    
    }
    
    
    
    Hier werden die member variablen festgelegt auf die ich via edit keinen zugriff habe:(
    class CDbtest4Set : public CRecordset
    
    {
    
    public:
    
    	CDbtest4Set(CDatabase* pDatabase = NULL);
    
    	DECLARE_DYNAMIC(CDbtest4Set)
    
    
    // Field/Param Data
    
    	//{{AFX_FIELD(CDbtest4Set, CRecordset)
    
    	long	m_buildings_id;
    
    	CString	m_buildings_name;
    
    	long	m_buildings_rohstoff1;
    
    	long	m_buildings_rohstoff2;
    
    	long	m_user_id;
    
    	CString	m_user_nick;
    
    	CString	m_user_pass;
    
    	CString	m_user_email;
    
    	CString	m_user_country;
    
    	CString	m_user_fraktion;
    
    	long	m_user_rohstoff1;
    
    	long	m_user_rohstoff2;
    
    	//}}AFX_FIELD
    
    

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...