Hab ein kleines Problem :-(



  • Hallo alle zusammen und ein frohes neues Jahr ertsmal allen.

    So und jetzt zu meinem Problem ich möchte den ganzen Ordner inhalt einfuegen lassen in eine Db, aber irgendwie fügt er bloß nur leere Zeilen.

    Hier mein Code:

    /// 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.
    			//
    		}
    
    		public:
    			List<String^> ^GetFileList(String^ Root, bool SubFolders)
    			{
    
    				List<String^> ^FileArray = gcnew List<String^>();
    				try
    				{
    					array <String^>^ Files = System::IO::Directory::GetFiles(Root->ToString());
    					array <String^>^ Folders = System::IO::Directory::GetDirectories(Root->ToString());
    
    					for (int i = 0; i < Files->Length; i++)
    					{
    						DataGridViewCell^ zelle = this->Tabelle1DataGridView->Rows[Tabelle1BindingSource->Count-1]->Cells[2];
    
    						DataGridViewCell^ zelle1 = this->Tabelle1DataGridView->Rows[Tabelle1BindingSource->Count-1]->Cells[1];
    
    						FileArray->Add(Files[i]->ToString());
    
    						_neuerDatensatz();
    
    						zelle->Value = FileArray[i]->ToString();
    						zelle1->Value = System::IO::Path::GetFileName(FileArray[i]->ToString());
    
    						_datensatzSpeichern();
    					}
    
    					if (SubFolders == true)
    					{
    						for (int i = 0; i < Folders->Length; i++)
    						{						
    							FileArray->AddRange(GetFileList(Folders[i]->ToString(), SubFolders));
    						}
    					}
    				}
    				catch (Exception^ Ex)
    				{
    					MessageBox::Show(Ex->Message);
    				}
    				return FileArray;
    			}
    
    Und den Code habe ich im Click Event mit eingebaut.
    

    FolderBrowserDialog^ _folderBrowserDialog = gcnew FolderBrowserDialog;

    if(_folderBrowserDialog->ShowDialog() == ::DialogResult::OK)
    {
    this->Tabelle1BindingSource->AddNew();
    GetFileList(_folderBrowserDialog->SelectedPath, true);
    }

    Ich danke schon mal im Vorraus für eure Hilfe
    Gruß Sebastian 🙂



  • Hallo Sebastian,

    bin wieder zurück, ich war doch in NY, auch ein frohes Neues Euch allen.
    Raketen fehlen hier als Icons. Nehm ich den hier :xmas2:

    Wie wolltest Du das haben?
    Nur den Ordner in die Db einfügen oder alle einzelnen Dateien in die Db?

    Mit diesem Code legst Du den Pfad in die Array-Liste, aber holst den nie wieder raus und übergibst den Pfad nie an die Datenbank.

    GetFileList(folderBrowserDialog1->SelectedPath, true);
    

    So übergibst Du zumindest den Pfad an DataGridView zur weitern Bearbeitung für die Db.

    cell->Value::set(folderBrowserDialog1->SelectedPath);
    

    Gruß, Doug_HH



  • Hi Doug_HH.

    Frohes neues auch an dich. Ne ich wollte eigentlich den gesamten Ordner inhalt einfügen. Ich frag mich nur warum es denn vorher geklappt hat?

    Gruß Sebastian


Anmelden zum Antworten