Einfache Formulardaten in MS Access Tabellen speichern



  • Guten Abend die Programmier-Profis

    Ich bin ein völliger Anfänger... 🙄
    Eine Windows Forms Anwendung habe bereits erstellt und alle "Elemente" benannt.
    Das Problem was ich jetzt habe ist, dass ich nicht mehr weiter weiss, wie ich diese Formulardaten dauerhaft in einer MS Access Datenbank mit dem OLE DB Treiber.

    Ich habe es mit dem Sogenannten "Dataset" probiert, da liest es aber immer die Daten heraus. Ich kann keine Daten in diese DB speichern. Ich habe mich schon ein paarmal durch dieses Forum geklickt und muss wirklich sagen, dass hier auch meine Person die Hilfe finden würde.

    Meine Form.h datei:

    #pragma once

    namespace Administration {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    /// <summary>
    /// Zusammenfassung für Form1
    ///
    /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
    /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
    /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
    /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
    /// arbeiten, die diesem Formular zugewiesen sind.
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
    Form1(void)
    {
    InitializeComponent();
    //
    //TODO: Konstruktorcode hier hinzufügen.
    //
    }

    protected:
    /// <summary>
    /// Verwendete Ressourcen bereinigen.
    /// </summary>
    ~Form1()
    {
    if (components)
    {
    delete components;
    }
    }
    private: System::Windows::Forms::GroupBox^ groupBox1;
    protected:
    private: System::Windows::Forms::Label^ label3;
    private: System::Windows::Forms::DateTimePicker^ dateTimePicker1;
    private: System::Windows::Forms::TextBox^ txtVorname;
    private: System::Windows::Forms::Label^ label2;
    private: System::Windows::Forms::TextBox^ txtName;
    private: System::Windows::Forms::Label^ label1;
    private: System::Windows::Forms::Button^ btnSpeichern;

    private:
    /// <summary>
    /// Erforderliche Designervariable.
    /// </summary>
    System::ComponentModel::Container ^components;

    #pragma region Windows Form Designer generated code
    /// <summary>
    /// Erforderliche Methode für die Designerunterstützung.
    /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    /// </summary>
    void InitializeComponent(void)
    {
    this->groupBox1 = (gcnew System::Windows::Forms::GroupBox());
    this->label1 = (gcnew System::Windows::Forms::Label());
    this->txtName = (gcnew System::Windows::Forms::TextBox());
    this->label2 = (gcnew System::Windows::Forms::Label());
    this->txtVorname = (gcnew System::Windows::Forms::TextBox());
    this->dateTimePicker1 = (gcnew System::Windows::Forms::DateTimePicker());
    this->label3 = (gcnew System::Windows::Forms::Label());
    this->btnSpeichern = (gcnew System::Windows::Forms::Button());
    this->groupBox1->SuspendLayout();
    this->SuspendLayout();
    //
    // groupBox1
    //
    this->groupBox1->Controls->Add(this->label3);
    this->groupBox1->Controls->Add(this->dateTimePicker1);
    this->groupBox1->Controls->Add(this->txtVorname);
    this->groupBox1->Controls->Add(this->label2);
    this->groupBox1->Controls->Add(this->txtName);
    this->groupBox1->Controls->Add(this->label1);
    this->groupBox1->Location = System::Drawing::Point(12, 12);
    this->groupBox1->Name = L"groupBox1";
    this->groupBox1->Size = System::Drawing::Size(307, 121);
    this->groupBox1->TabIndex = 0;
    this->groupBox1->TabStop = false;
    this->groupBox1->Text = L"Formular";
    //
    // label1
    //
    this->label1->AutoSize = true;
    this->label1->Location = System::Drawing::Point(16, 33);
    this->label1->Name = L"label1";
    this->label1->Size = System::Drawing::Size(35, 13);
    this->label1->TabIndex = 0;
    this->label1->Text = L"Name";
    //
    // txtName
    //
    this->txtName->Location = System::Drawing::Point(114, 30);
    this->txtName->Name = L"txtName";
    this->txtName->Size = System::Drawing::Size(100, 20);
    this->txtName->TabIndex = 1;
    //
    // label2
    //
    this->label2->AutoSize = true;
    this->label2->Location = System::Drawing::Point(16, 59);
    this->label2->Name = L"label2";
    this->label2->Size = System::Drawing::Size(49, 13);
    this->label2->TabIndex = 2;
    this->label2->Text = L"Vorname";
    //
    // txtVorname
    //
    this->txtVorname->Location = System::Drawing::Point(114, 56);
    this->txtVorname->Name = L"txtVorname";
    this->txtVorname->Size = System::Drawing::Size(100, 20);
    this->txtVorname->TabIndex = 3;
    //
    // dateTimePicker1
    //
    this->dateTimePicker1->CustomFormat = L"dd.MM.yyyy";
    this->dateTimePicker1->Format = System::Windows::Forms::DateTimePickerFormat::Custom;
    this->dateTimePicker1->Location = System::Drawing::Point(114, 82);
    this->dateTimePicker1->Name = L"dateTimePicker1";
    this->dateTimePicker1->Size = System::Drawing::Size(100, 20);
    this->dateTimePicker1->TabIndex = 4;
    //
    // label3
    //
    this->label3->AutoSize = true;
    this->label3->Location = System::Drawing::Point(16, 86);
    this->label3->Name = L"label3";
    this->label3->Size = System::Drawing::Size(73, 13);
    this->label3->TabIndex = 5;
    this->label3->Text = L"Geburtsdatum";
    //
    // btnSpeichern
    //
    this->btnSpeichern->Location = System::Drawing::Point(127, 150);
    this->btnSpeichern->Name = L"btnSpeichern";
    this->btnSpeichern->Size = System::Drawing::Size(75, 23);
    this->btnSpeichern->TabIndex = 1;
    this->btnSpeichern->Text = L"speichern";
    this->btnSpeichern->UseVisualStyleBackColor = true;
    this->btnSpeichern->Click += gcnew System::EventHandler(this, &Form1::btnSpeichern_Click);
    //
    // Form1
    //
    this->AcceptButton = this->btnSpeichern;
    this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    this->ClientSize = System::Drawing::Size(329, 185);
    this->Controls->Add(this->btnSpeichern);
    this->Controls->Add(this->groupBox1);
    this->MaximizeBox = false;
    this->MinimizeBox = false;
    this->Name = L"Form1";
    this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen;
    this->Text = L"Daten speichern";
    this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
    this->groupBox1->ResumeLayout(false);
    this->groupBox1->PerformLayout();
    this->ResumeLayout(false);

    }
    #pragma endregion

    private: System::Void btnSpeichern_Click(System::Object^ sender, System::EventArgs^ e) {
    }
    };
    }

    und meine CPP Datei:

    // Administration.cpp: Hauptprojektdatei.

    #include "stdafx.h"
    #include "Form1.h"

    using namespace Administration;

    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    // Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    // Hauptfenster erstellen und ausführen
    Application::Run(gcnew Form1());
    return 0;
    }

    BITTE UM HILFE:

    Lieben Gruss und ein riesiges Dankeschön den Profis... 🙂



  • 1. Codetags
    2. Wo ist das konkrete Problem ?

    Ich habe es mit dem Sogenannten "Dataset" probiert, da liest es aber immer die Daten heraus. Ich kann keine Daten in diese DB speichern. Ich habe mich schon ein paarmal durch dieses Forum geklickt und muss wirklich sagen, dass hier auch meine Person die Hilfe finden würde.

    Schau Dir oleDbAdapter mit Fill und Update an.



  • Danke vielmal. Hab den Adapter gefunden. Wie kann ich jetzt den Vorgang starten, wenn ich auf den "btnSpeichern" Button klicke?

    Danke 🙄



  • Der Adapter:

    http://msdn2.microsoft.com/de-de/library/system.data.oledb.oledbdataadapter_members(VS.80).aspx

    Die Methode Fill:

    http://msdn2.microsoft.com/de-de/library/system.data.oledb.oledbdataadapter.fill(VS.80).aspx

    Die Methode Update:
    http://msdn2.microsoft.com/de-de/library/system.data.common.dbdataadapter.update(VS.80).aspx

    Du kannst z.B. so vorgehen:

    Konfiguriere den Datenadapter auf Deine Datenquelle, erstelle daraus ein Dataset. Das trägst Du in einem DataView als Source ein. Die Steuerelemente bindest Du an das View (wenn Du einzelne Textfelder verwendest, binde diese an ein BindingSource und dieses an die DataView) .

    Mit dem Adapter und Fill kannst Du dann das Set füllen, mit dem View die Daten filtern und mit Update die Daten zurück in die Datenbank schreiben.



  • Danke nochmals Knuddlbaer.

    So, alles erledigt, so wie es Du geschrieben hast 🙂

    Jetzt muss "nur" noch die funktion des Buttons miteinbezogen werden.

    Kannst Du mir bitte nochmals unter die Arme greifen?



  • Hm, wo ist nu das Problem ?

    Du musst Update für das DataSet mittels DataAdapter aufrufen.

    OleDbDataAdapter1->Update(dataSet11);



  • Meinst Du so?

    private: System::Void btnSpeichern_Click(System::Object^ sender, System::EventArgs^ e) {

    OleDbDataAdapter1->Update(dataSet11);
    }

    };
    }



  • Sofern die Elemente bei Dir diesen Namen haben.

    Was hast Du gegen Codetags ?



  • Gar nichts. Wieso? Was sind Codetags?

    Ich habe vor ca. einem Monat das Visual Studio 2005 heruntergeladen und habe so oft probiert einfache Daten aus einer Windows Forms Anwendung (Formular) die Daten in einer Access Datenbank zu speichern.

    Aber Knuddlbaer oder wie ist Dein Name? Ich werde mir diesen Namen auch speichern und wenn ich später wiedermal Hilfe von einem Profi wie Dir brauche, komme ich einfach auf Dich zu.

    Gruss Philipp



  • Es kommen aber Fehler wie diese:

    Fehler 1 error C2065: 'OleDbDataAdapter1': nichtdeklarierter Bezeichner 220

    Fehler 2 error C2227: Links von "->Update" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.

    😞



  • Codetags:

    int main()
    {
      // Das ist ein C++ Kommentar
      for(int i = 0;i < 10;++i)
         std::cout::<<i<<std::endl;
    }
    

    Unter den Smilies findest Du ein Button C/C++ - drück mal drauf, pack Deinen Quellcode dazwischen und klick wieder auf den Button. Dann kann man den Quellcode auch lesen.

    Ansonsten: Du musst die Variablen schon beim Namen nennen. Raten können die Compiler noch nicht.



  • Hallo Knuddlbaer

    Besten Dank für alles. Ich habe bemerkt, dass ich den OleTableAdapter1 falsch geschrieben habe.

    Wenn ich jetzt das Progrämmchen debugge bekomme ich wenigstens keine Fehlermeldungen mehr. Auch wenn ich die Daten jetzt ins Formular eingebe und auf den Button "speichern" klicke, verschwindet das Eingegebene. Und wenn ich meine AccessDB öffne um zu schauen, ob es wirklich gespeichert wurde 😞 Gähnende Leere.

    Auch habe ich eine neue Datei auf dem Laufwerk, die den selben Namen trägt wie meine AccessDB mit der Endung *.ldb, welche ich mit dem Access nicht öffnen kann.

    Kannst Du mir bitte nochmals helfen?

    Danke und Gruss



  • Zeig mal den Quellcode der hinter Deinem Knopf liegt.



  • #pragma once
    
    namespace probieren {
    
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    
    	/// <summary>
    	/// Zusammenfassung für Form1
    	///
    	/// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
    	///          die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
    	///          das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
    	///          Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
    	///          arbeiten, die diesem Formular zugewiesen sind.
    	/// </summary>
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public:
    		Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: Konstruktorcode hier hinzufügen.
    			//
    		}
    
    	protected:
    		/// <summary>
    		/// Verwendete Ressourcen bereinigen.
    		/// </summary>
    		~Form1()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    	private: System::Windows::Forms::Label^  label1;
    	protected: 
    	private: System::Windows::Forms::TextBox^  txtName;
    	private: System::Windows::Forms::Label^  label2;
    	private: System::Windows::Forms::TextBox^  txtVorname;
    	private: System::Windows::Forms::DateTimePicker^  dateTimePicker1;
    	private: System::Windows::Forms::Label^  label3;
    	private: System::Windows::Forms::Button^  btnSpeichern;
    	private: System::Data::OleDb::OleDbCommand^  oleDbSelectCommand1;
    	private: System::Data::OleDb::OleDbConnection^  oleDbConnection1;
    	private: System::Data::OleDb::OleDbCommand^  oleDbInsertCommand1;
    	private: System::Data::OleDb::OleDbDataAdapter^  oleDbDataAdapter1;
    	private: probieren::DataSet1^  dataSet11;
    	private: System::Data::DataView^  dataView1;
    	private: System::Windows::Forms::BindingSource^  testDBAdministrationBindingSource;
    	private: System::Windows::Forms::BindingSource^  testDBAdministrationBindingSource1;
    	private: System::Windows::Forms::BindingSource^  testDBAdministrationBindingSource2;
    	private: System::ComponentModel::IContainer^  components;
    
    	private:
    		/// <summary>
    		/// Erforderliche Designervariable.
    		/// </summary>
    
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Erforderliche Methode für die Designerunterstützung.
    		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->components = (gcnew System::ComponentModel::Container());
    			this->label1 = (gcnew System::Windows::Forms::Label());
    			this->txtName = (gcnew System::Windows::Forms::TextBox());
    			this->dataSet11 = (gcnew probieren::DataSet1());
    			this->label2 = (gcnew System::Windows::Forms::Label());
    			this->txtVorname = (gcnew System::Windows::Forms::TextBox());
    			this->dateTimePicker1 = (gcnew System::Windows::Forms::DateTimePicker());
    			this->label3 = (gcnew System::Windows::Forms::Label());
    			this->btnSpeichern = (gcnew System::Windows::Forms::Button());
    			this->oleDbSelectCommand1 = (gcnew System::Data::OleDb::OleDbCommand());
    			this->oleDbConnection1 = (gcnew System::Data::OleDb::OleDbConnection());
    			this->oleDbInsertCommand1 = (gcnew System::Data::OleDb::OleDbCommand());
    			this->oleDbDataAdapter1 = (gcnew System::Data::OleDb::OleDbDataAdapter());
    			this->dataView1 = (gcnew System::Data::DataView());
    			this->testDBAdministrationBindingSource = (gcnew System::Windows::Forms::BindingSource(this->components));
    			this->testDBAdministrationBindingSource1 = (gcnew System::Windows::Forms::BindingSource(this->components));
    			this->testDBAdministrationBindingSource2 = (gcnew System::Windows::Forms::BindingSource(this->components));
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataSet11))->BeginInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataView1))->BeginInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->testDBAdministrationBindingSource))->BeginInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->testDBAdministrationBindingSource1))->BeginInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->testDBAdministrationBindingSource2))->BeginInit();
    			this->SuspendLayout();
    			// 
    			// label1
    			// 
    			this->label1->AutoSize = true;
    			this->label1->Location = System::Drawing::Point(24, 27);
    			this->label1->Name = L"label1";
    			this->label1->Size = System::Drawing::Size(35, 13);
    			this->label1->TabIndex = 0;
    			this->label1->Text = L"Name";
    			// 
    			// txtName
    			// 
    			this->txtName->DataBindings->Add((gcnew System::Windows::Forms::Binding(L"Text", this->testDBAdministrationBindingSource, L"Name", 
    				true)));
    			this->txtName->Location = System::Drawing::Point(103, 24);
    			this->txtName->Name = L"txtName";
    			this->txtName->Size = System::Drawing::Size(100, 20);
    			this->txtName->TabIndex = 1;
    			// 
    			// dataSet11
    			// 
    			this->dataSet11->DataSetName = L"DataSet1";
    			this->dataSet11->SchemaSerializationMode = System::Data::SchemaSerializationMode::IncludeSchema;
    			// 
    			// label2
    			// 
    			this->label2->AutoSize = true;
    			this->label2->Location = System::Drawing::Point(24, 53);
    			this->label2->Name = L"label2";
    			this->label2->Size = System::Drawing::Size(49, 13);
    			this->label2->TabIndex = 2;
    			this->label2->Text = L"Vorname";
    			// 
    			// txtVorname
    			// 
    			this->txtVorname->DataBindings->Add((gcnew System::Windows::Forms::Binding(L"Text", this->testDBAdministrationBindingSource1, 
    				L"Vorname", true)));
    			this->txtVorname->Location = System::Drawing::Point(103, 50);
    			this->txtVorname->Name = L"txtVorname";
    			this->txtVorname->Size = System::Drawing::Size(100, 20);
    			this->txtVorname->TabIndex = 3;
    			// 
    			// dateTimePicker1
    			// 
    			this->dateTimePicker1->CustomFormat = L"dd.MM.yyyy";
    			this->dateTimePicker1->DataBindings->Add((gcnew System::Windows::Forms::Binding(L"Text", this->testDBAdministrationBindingSource2, 
    				L"Geburtstag", true)));
    			this->dateTimePicker1->Format = System::Windows::Forms::DateTimePickerFormat::Custom;
    			this->dateTimePicker1->Location = System::Drawing::Point(103, 76);
    			this->dateTimePicker1->Name = L"dateTimePicker1";
    			this->dateTimePicker1->Size = System::Drawing::Size(100, 20);
    			this->dateTimePicker1->TabIndex = 4;
    			// 
    			// label3
    			// 
    			this->label3->AutoSize = true;
    			this->label3->Location = System::Drawing::Point(24, 80);
    			this->label3->Name = L"label3";
    			this->label3->Size = System::Drawing::Size(73, 13);
    			this->label3->TabIndex = 5;
    			this->label3->Text = L"Geburtsdatum";
    			// 
    			// btnSpeichern
    			// 
    			this->btnSpeichern->Location = System::Drawing::Point(82, 113);
    			this->btnSpeichern->Name = L"btnSpeichern";
    			this->btnSpeichern->Size = System::Drawing::Size(75, 23);
    			this->btnSpeichern->TabIndex = 6;
    			this->btnSpeichern->Text = L"Speichern";
    			this->btnSpeichern->UseVisualStyleBackColor = true;
    			this->btnSpeichern->Click += gcnew System::EventHandler(this, &Form1::btnSpeichern_Click);
    			// 
    			// oleDbSelectCommand1
    			// 
    			this->oleDbSelectCommand1->CommandText = L"SELECT     Name, Vorname, Geburtstag\r\nFROM         Test_DB_Administration";
    			this->oleDbSelectCommand1->Connection = this->oleDbConnection1;
    			// 
    			// oleDbConnection1
    			// 
    			this->oleDbConnection1->ConnectionString = L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\AccessDB\\test_db.mdb";
    			// 
    			// oleDbInsertCommand1
    			// 
    			this->oleDbInsertCommand1->CommandText = L"INSERT INTO `Test_DB_Administration` (`Name`, `Vorname`, `Geburtstag`) VALUES (\?," 
    				L" \?, \?)";
    			this->oleDbInsertCommand1->Connection = this->oleDbConnection1;
    			this->oleDbInsertCommand1->Parameters->AddRange(gcnew cli::array< System::Data::OleDb::OleDbParameter^  >(3) {(gcnew System::Data::OleDb::OleDbParameter(L"Name", 
    				System::Data::OleDb::OleDbType::VarWChar, 0, L"Name")), (gcnew System::Data::OleDb::OleDbParameter(L"Vorname", System::Data::OleDb::OleDbType::VarWChar, 
    				0, L"Vorname")), (gcnew System::Data::OleDb::OleDbParameter(L"Geburtstag", System::Data::OleDb::OleDbType::Date, 0, L"Geburtstag"))});
    			// 
    			// oleDbDataAdapter1
    			// 
    			this->oleDbDataAdapter1->InsertCommand = this->oleDbInsertCommand1;
    			this->oleDbDataAdapter1->SelectCommand = this->oleDbSelectCommand1;
    			cli::array< System::Data::Common::DataColumnMapping^ >^ __mcTemp__1 = gcnew cli::array< System::Data::Common::DataColumnMapping^  >(3) {(gcnew System::Data::Common::DataColumnMapping(L"Name", 
    				L"Name")), (gcnew System::Data::Common::DataColumnMapping(L"Vorname", L"Vorname")), (gcnew System::Data::Common::DataColumnMapping(L"Geburtstag", 
    				L"Geburtstag"))};
    			this->oleDbDataAdapter1->TableMappings->AddRange(gcnew cli::array< System::Data::Common::DataTableMapping^  >(1) {(gcnew System::Data::Common::DataTableMapping(L"Table", 
    				L"Test_DB_Administration", __mcTemp__1))});
    			// 
    			// dataView1
    			// 
    			this->dataView1->Table = this->dataSet11->Test_DB_Administration;
    			// 
    			// testDBAdministrationBindingSource
    			// 
    			this->testDBAdministrationBindingSource->DataMember = L"Test_DB_Administration";
    			this->testDBAdministrationBindingSource->DataSource = this->dataSet11;
    			// 
    			// testDBAdministrationBindingSource1
    			// 
    			this->testDBAdministrationBindingSource1->DataMember = L"Test_DB_Administration";
    			this->testDBAdministrationBindingSource1->DataSource = this->dataSet11;
    			// 
    			// testDBAdministrationBindingSource2
    			// 
    			this->testDBAdministrationBindingSource2->DataMember = L"Test_DB_Administration";
    			this->testDBAdministrationBindingSource2->DataSource = this->dataSet11;
    			// 
    			// Form1
    			// 
    			this->AcceptButton = this->btnSpeichern;
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(238, 150);
    			this->Controls->Add(this->btnSpeichern);
    			this->Controls->Add(this->label3);
    			this->Controls->Add(this->dateTimePicker1);
    			this->Controls->Add(this->txtVorname);
    			this->Controls->Add(this->label2);
    			this->Controls->Add(this->txtName);
    			this->Controls->Add(this->label1);
    			this->Name = L"Form1";
    			this->Text = L"Form1";
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataSet11))->EndInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataView1))->EndInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->testDBAdministrationBindingSource))->EndInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->testDBAdministrationBindingSource1))->EndInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->testDBAdministrationBindingSource2))->EndInit();
    			this->ResumeLayout(false);
    			this->PerformLayout();
    
    		}
    #pragma endregion
    	private: System::Void btnSpeichern_Click(System::Object^  sender, System::EventArgs^  e) {
    				 oleDbDataAdapter1->Fill(dataSet11);
    			 }
    };
    }
    


  • Vorgehensweise

    1. Form entwerfen
    2. Textfelder umbenenen
    3. oleDBTableAdapter1 auf Form ziehen
    4. ->konfiguration mit Access DB
    5. ->es entsteht eine Dbconnection1
    6. oleDBTableAdapter1 ->DataSet generieren
    7. DataView1 auf Form1 ziehen
    8. DataSet11 in DataView1 beim Table einlesen
    9. Textfelder mit (DataBindingSource Text ) ->Form1-Listeninstanzen->DataSet11->MeineAccessDB->Tabellen binden.
    10. Doppelklick auf den Button (btnSpeichern) und

    private: System::Void btnSpeichern_Click(System::Object^ sender, System::EventArgs^ e) {
    oleDbDataAdapter1->Update(dataSet11);
    }
    einfügen.



  • Mal abgesehen davon, das Du NUR das Posten solltest was den Code in Deinem Knopf betrifft:

    10. Doppelklick auf den Button (btnSpeichern) und

    private: System::Void btnSpeichern_Click(System::Object^ sender, System::EventArgs^ e) {
    oleDbDataAdapter1->Update(dataSet11);

    private: System::Void btnSpeichern_Click(System::Object^  sender, System::EventArgs^  e) { 
                     oleDbDataAdapter1->Fill(dataSet11); 
                 }
    

    Denk mal drüber nach.



  • Mit dem Update "Befehl" passiert leider nichts 😞



  • Oh man... Seit ihr zu zweit ?

    private: System::Void btnSpeichern_Click(System::Object^  sender, System::EventArgs^  e) { 
                     oleDbDataAdapter1->Fill(dataSet11); 
                 }
    

    Wo bitte ist da ein Update ?



  • Nein.

    Aber diese Methode "Fill" habe ich jetzt im Einsatz. Es passiert leider nichts, ausser dass es mir ein gleichnamige neue ldb-Datei auf der Festplatte schreibt... 😞



  • Ich bekomme auch beim Debuggen die Warnung "Nicht genügend Platz auf dem Datenträger; Verknüpfung erfolgt nicht inkrementell"


Anmelden zum Antworten