Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z SQL, tabele
AndySheppard
post 24.04.2017, 08:59:21
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 24.04.2017

Ostrzeżenie: (0%)
-----


Witam forumowiczów!

Mam program, który łączy się z bazą danych w której są dwie tabele "pracownicy" i "godziny". Problem polega z przyciskiem modyfikuj. Gdy chcę zmienić dane np. pracownika czy też godzin przypisanych do tego pracownika to w tabeli pracownicy zostają zmienione dane, ale natomiast w tabeli godziny zostaje dodawany cały czas nowy rekord. Chodzi o to by program modyfikował dany rekord do którego jest przypisany pracownik_id.

Przycisk modyfikuj:

  1.  
  2. private: System::Void btnPModyfikuj_Click( System::Object ^ sender, System::EventArgs ^ e ) {
  3. // modyfikacja danych uzytkownika
  4. if( txtPImie->Text->Length < 2 || txtPNazwisko->Text->Length < 3 || txtPLogin->Text->Length <= 3 ) {
  5. MessageBox::Show( "Uzupełnij dane!!!" );
  6. }
  7. else {
  8. uzytkownik_typ();
  9.  
  10. MySqlConnection ^ laczBaze = gcnew MySqlConnection( konfiguracja );
  11. MySqlCommand ^ polecenie = laczBaze->CreateCommand();
  12. MySqlTransaction ^ transakcja;
  13. laczBaze->Open();
  14.  
  15. transakcja = laczBaze->BeginTransaction( IsolationLevel::ReadCommitted );
  16.  
  17. polecenie->Connection = laczBaze;
  18.  
  19. polecenie->Transaction = transakcja;
  20.  
  21. try {
  22.  
  23. polecenie->CommandText = "SELECT * FROM godziny WHERE uzytkownik_id = " + id_rekordu + ";";
  24. MySqlDataReader ^ wynik = polecenie->ExecuteReader();
  25. wynik->Close();
  26.  
  27. polecenie->CommandText = "UPDATE uzytkownik SET imie='" + txtPImie->Text + "', nazwisko='" + txtPNazwisko->Text + "', uzytkownik_nazwa='" + txtPLogin->Text + "', pracownik=" + pracownik_typ + " WHERE uzytkownik_id = " + id_rekordu + ";";
  28. polecenie->ExecuteNonQuery();
  29.  
  30. if( wynik->HasRows == true && chbPPracownik->Checked == true ) {
  31. polecenie->CommandText = "UPDATE godziny SET pon_od = '" + txtP1p->Text + "', pon_do='" + txtP1k->Text + "', wt_od='" + txtP2p->Text + "', wt_do='" + txtP2k->Text + "', sr_od='" + txtP3p->Text + "', sr_do='" + txtP3k->Text + "', czw_od='" + txtP4p->Text + "', czw_do='" + txtP4k->Text + "', pt_od='" + txtP5p->Text + "', pt_do='" + txtP5k->Text + "', sob_od='" + txtP6p->Text + "', sob_do='" + txtP6k->Text + "' WHERE godziny_id=" + id_rekordu + ", uzytkownik_id=" + id_rekordu + ";";
  32. polecenie->ExecuteNonQuery();
  33. }
  34. else if( chbPPracownik->Checked == true ) {
  35. polecenie->CommandText = "INSERT INTO godziny SET uzytkownik_id=" + id_rekordu + ", pon_od = '" + txtP1p->Text + "', pon_do='" + txtP1k->Text + "', wt_od='" + txtP2p->Text + "', wt_do='" + txtP2k->Text + "', sr_od='" + txtP3p->Text + "', sr_do='" + txtP3k->Text + "', czw_od='" + txtP4p->Text + "', czw_do='" + txtP4k->Text + "', pt_od='" + txtP5p->Text + "', pt_do='" + txtP5k->Text + "', sob_od='" + txtP6p->Text + "', sob_do='" + txtP6k->Text + "';";
  36. polecenie->ExecuteNonQuery();
  37. }
  38. MessageBox::Show( "Dane uzytkownika zostały pomyślnie zmodyfikowne" );
  39. transakcja->Commit();
  40. }
  41. catch( Exception ^ komunikat ) {
  42. MessageBox::Show( komunikat->Message );
  43. transakcja->Rollback();
  44. }
  45. laczBaze->Close();
  46. }
  47.  
  48.  
  49. pokaz_siatke();
  50. }
  51.  
Go to the top of the page
+Quote Post

Posty w temacie
- AndySheppard   Problem z SQL   24.04.2017, 08:59:21
- - nospor   Problem nie ma zadnego zwiazku z mysql. Przenosze....   24.04.2017, 10:19:41


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 03:44