Pfad in Mysql ohne \



  • Hallo Forengemeinde,

    ich lade eine Bild in eine Picturebox, lasse mir den Pfad in einer Textbox anzeigen, und speichere den Pfad und noch einiege andere Textboxen in einer MySql Tabelle. Umlaute wie ä ö ü werden korrekt dargestellt. Der \ der die Ordner voneinander abtrennt im Pfad jedoch nicht. Muss ich das noch umwandeln?

    Ein Denkanstoß wäre nett:

    private: System::Void btnBild_Click(System::Object^  sender, System::EventArgs^  e) {
    
    				  OpenFileDialog^ ofd = gcnew OpenFileDialog();
    				  ofd->ShowDialog();
    				  String^ bild;
    				  bild = ofd->FileName; 
    				  tbPfad->Text=bild;
    				  pbRing->Image = gcnew Bitmap(bild);
    			 }
    private: System::Void btSave_Click(System::Object^  sender, System::EventArgs^  e) {
    
    			String^ constring=L"datasource=137.226.10.73;port=3306;username=userbestand;password=best709and";
    			MySqlConnection^ conDataBase=gcnew MySqlConnection(constring);
    			MySqlCommand^ cmdDataBase=gcnew MySqlCommand("insert into db_bestand.ringe (Nummer,Aussendurchmesser,Dicke,Hoehe,Anzahl,Masse,Profil,Werkstoff,Kommentar,Bild) values ('"+this->tbNummer->Text+"','"+this->tbAussendurchmesser->Text+"','"+this->tbRingdicke->Text+"','"+this->tbRinghoehe->Text+"','"+this->tbAnzahl->Text+"','"+this->tbMasse->Text+"','"+this->tbProfil->Text+"','"+this->tbWerkstoff->Text+"','"+this->tbKommentar->Text+"','"+this->tbPfad->Text+"');",conDataBase);
    
    			MySqlDataReader^ myReader;
    
    			try{
    				conDataBase->Open();
    				myReader=cmdDataBase->ExecuteReader();
    
    				while(myReader->Read()){
    
    				}Close();
    
    			}catch(Exception^ ex){
    
    				MessageBox::Show(ex->Message);
    			}
    		 }
    


  • Ok also... einen Denkanstoß hab ich mir selbst gegeben...grr hätt ich auch mal selbst drauf kommen können. Ich muss den Backslash durch einen doppelten Darstellen. Die Frage ist jetzt nur...wie mach ich das. Muss ich es sauber ausprogrammieren? Also quasi den String durchsuchen und nach jedem \ einen weiteren hinzufügen? Oder gibt es eine einfachere Möglichkeit?

    Beste Grüße
    Jay!



  • so noch ein Stück weiter... es gibt eine Replace funktion, welche mit zwei Argumenten einen Char austauscht...

    Es passiert allerdings einfach nichts...wieso?

    String^ bild;
    	bild = ofd->FileName;
    	 String^ bildmysql=bild->Replace('"\"','"\\"');
    


  • Erledigt...Durch die Normale übergabe, nahm die Funktion zwei chars an. Ich habe nun vorher einfach zwei Strings deklariert und diese dann übergeben. Nun funktionierte es ohne Probleme.

    Beste Grüße Jay


Anmelden zum Antworten