Hallo,
ich habe mal wieder ein Problem. Hab schon einiges probiert aber komme nicht klar damit.
Und zwar verbinde ich mich mit meinem MySQL-Server und möchte nun Daten aus meinem Form dort eintragen. Die Verbindung mit dem Server öffne ich in meiner main() Methode (funktioniert auch) und in der Form1.h möchte ich jetzt Daten in die Datenbank hineinschreiben. Dabei muss ich die Verbindung (conn2) angeben, aber Form1.h kennt meine Verbindung nicht, da sie ja in der main() geöffnet wird. Wir löst man so etwas? Eine Projekt.h gibt es ja nicht zum inkludieren. Die Datenbankverbindung soll bei Programmstart geöffnet werden, deshalb mache ich dies in der main() in Projekt.cpp, aber Daten reinschreiben möchte ich wenn der Speicherbutton gedrückt wird, also in der Form1.h... Kann man so etwas mit globalen Variablen machen? Oder irgendwie mit vererben? Oder ganz anders?
Folgendes habe ich bisher:
Kann mir jemand weiterhelfen, wie man in Windows Forms so etwas macht? Ist meine erste Windows Forms Anwendung und komme damit irgendwie nicht klar.
Vielen Dank schon mal.
Viele Grüße
ich habe mal wieder ein Problem. Hab schon einiges probiert aber komme nicht klar damit.
Und zwar verbinde ich mich mit meinem MySQL-Server und möchte nun Daten aus meinem Form dort eintragen. Die Verbindung mit dem Server öffne ich in meiner main() Methode (funktioniert auch) und in der Form1.h möchte ich jetzt Daten in die Datenbank hineinschreiben. Dabei muss ich die Verbindung (conn2) angeben, aber Form1.h kennt meine Verbindung nicht, da sie ja in der main() geöffnet wird. Wir löst man so etwas? Eine Projekt.h gibt es ja nicht zum inkludieren. Die Datenbankverbindung soll bei Programmstart geöffnet werden, deshalb mache ich dies in der main() in Projekt.cpp, aber Daten reinschreiben möchte ich wenn der Speicherbutton gedrückt wird, also in der Form1.h... Kann man so etwas mit globalen Variablen machen? Oder irgendwie mit vererben? Oder ganz anders?
Folgendes habe ich bisher:
Code:
//Projekt.cpp
int main(array<System::String ^> ^args)
{
// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
MySqlConnection^ conn2;
try
{
String^ dbhost2 = "localhost";
String^ dbuser2 = "dbname";
String^ dbpass2 = "dbpasswort";
String^ dbdatabase2 = "mydb";
String^ conn2Str = String::Format("server={0};user id={1};password={2}; database={3}; pooling=false;",dbhost2, dbuser2, dbpass2, dbdatabase2);
// Create a MySql Connection
conn2 = gcnew MySqlConnection(conn2Str);
conn2->Open();
MessageBox::Show("Verbindung zum localhost MySQL Server erfolgreich!");
}
catch (...)
{
MessageBox::Show("Verbindung zum localhost MySQL Server fehlgeschlagen!");
}
// Hauptfenster erstellen und ausführen
Application::Run(gcnew Form1());
return 0;
}
//Form1.h
private: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e) {
try
{
String^ SQL = "INSERT INTO Patient_has_Betreuungskraft (Patient_Codenr, Betreuungskraft_Betreuungsid) VALUES ("+this->textBox35->Text+","+this->textBox6->Text+")";
MySqlCommand^ cmd = gcnew MySqlCommand(SQL,conn2); // ==> Fehler: conn2: nichtdeklarierter Bezeichner
cmd->ExecuteNonQuery();
}
catch (MySql::Data::MySqlClient::MySqlException^ ex)
{
MessageBox::Show(ex->ToString());
}
}
Kann mir jemand weiterhelfen, wie man in Windows Forms so etwas macht? Ist meine erste Windows Forms Anwendung und komme damit irgendwie nicht klar.
Vielen Dank schon mal.
Viele Grüße