C# adatbázis dátum probléma

C# adatbázis dátum probléma
2018-03-27T10:16:22+02:00
2018-03-31T08:46:06+02:00
2022-12-05T05:20:38+01:00
Radócz Sándor
Sziasztok. Adott egy program, ami adatbázisba tud feltölteni adatokat, de viszont ott akadtam el, mikor dátumot akarok megadni, akkor szintaktikailag lefut a program, de viszont nem tölti fel a dátumot az adatbázisba. Hogyan tudnám megcsinálni, hogy ha pl. megadom a mai dátumot, akkor kint az adatbázisban is azt jelenítse meg(Ez Visual c#)?

string megjelenes_datuma = Convert.ToString(megjelenes_datuma_bevitel.Value);
Mutasd a teljes hozzászólást!

  • A bemásolt kódodban hol van az adatbázisban tárolás?

    Ez csak annyit csinál, hogy a beviteli meződ értékét eltárolja egy változóban.
    Mutasd a teljes hozzászólást!
  • Akkor itt van ez:

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace home_project { public partial class jatekszoftverfeltolt : Form { public jatekszoftverfeltolt() { InitializeComponent(); } private void jatekszoftverfeltolt_Load(object sender, EventArgs e) { } private void feltolt_Click(object sender, EventArgs e) { Osztalyaim.ABKapcsolodas(); MySqlCommand parancs = Osztalyaim.AB.CreateCommand(); int azonosito = Convert.ToInt32(azonosito_bevitel.Text); string videojatek_nev = Convert.ToString(termek_nev_bevitel.Text); int kiado_azon = Convert.ToInt32(kiado_azon_bevitel.Text); int fejleszto_azon = Convert.ToInt32(fejleszto_azon_bevitel.Text); string platform = Convert.ToString(platform_bevitel.Text); int mufaj_azon = Convert.ToInt32(mufaj_azon_bevitel.Text); string megjelenes_datuma = Convert.ToString(megjelenes_datuma_bevitel.Value); int besorolas = Convert.ToInt32(besorolas_bevitel.Text); int videojatek_ara = Convert.ToInt32(videojatek_ara_bevitel.Text); int pontok_szama = Convert.ToInt32(pontok_szama_bevitel.Text); int raktar_mennyiseg = Convert.ToInt32(raktar_mennyiseg_bevitel.Text); parancs.CommandText = "INSERT INTO jatekszoftver_termekek VALUES(@azonosito, @termek_nev, @kiado_azon, @fejleszto_azon, @platform_azon, @mufaj_azon, @megjelenes_datuma, @besorolas, @videojatek_ara, @pontok_szama, @raktar_mennyiseg)"; parancs.Parameters.Add(new MySqlParameter("@azonosito", azonosito_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@termek_nev", termek_nev_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@kiado_azon", kiado_azon_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@fejleszto_azon", fejleszto_azon_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@platform_azon", platform_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@mufaj_azon", mufaj_azon_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@megjelenes_datuma", megjelenes_datuma_bevitel)); parancs.Parameters.Add(new MySqlParameter("@besorolas", besorolas_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@videojatek_ara", videojatek_ara_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@pontok_szama", pontok_szama_bevitel.Text)); parancs.Parameters.Add(new MySqlParameter("@raktar_mennyiseg", raktar_mennyiseg_bevitel.Text)); MessageBox.Show("Sikeres feltöltés"); parancs.ExecuteNonQuery(); parancs.Dispose(); Osztalyaim.AB.Close(); } private void kilépésAProgrambólToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void kilépésAzAblakbólToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); foablak Foablak = new foablak(); Foablak.Show(); } private void megjelenesi_datum_bevitel_ValueChanged(object sender, EventArgs e) { MessageBox.Show(Convert.ToString(megjelenes_datuma_bevitel.Value)); } } }
    Mutasd a teljes hozzászólást!
  • Ez a ketto valahogy nem passzol :)

    string megjelenes_datuma = Convert.ToString(megjelenes_datuma_bevitel.Value); ("@megjelenes_datuma", megjelenes_datuma_bevitel));
    Vagy
    ("@megjelenes_datuma", megjelenes_datuma_bevitel.Value.ToString()));
    vagy

    ("@megjelenes_datuma", megjelenes_datuma));
    Mivel nem latom az adatbazisod se azt hogy mi az a megjelenes_datuma_bevitel igy cask gondolom, hogy az egy input ahol datumot adsz meg es datum object-et ad vissza. Ha igy van akkor lehet at kell convertalnod olyan datum formatumra amit visszakapsz amit az adatbazisod megeszik.
    Mutasd a teljes hozzászólást!
  • Ha csinálsz egy commandot, tégy paramétereket bele, és a paramétereknek adj értéket.  Igy a driver megfelelően fogja konvertálni. 
    B
    Mutasd a teljes hozzászólást!
  • Ha nem így csináltam volna, akkor nem lenne benne ez a forráskódban xd
    Mutasd a teljes hozzászólást!
  • Látom,  de nem ertem miert csinalsz belőle stringet. A drivernek meg kell oldania ezt.
    B
    Mutasd a teljes hozzászólást!
  • Nemtudom csak eliras volt-e a  bemasolt kododba de mint feljebb emlitettem a parameternek (a bemasolt kodban) nem a stringet adod at hanem magat az inputot ami egy input object amivel lehet nem tud mit kezdeni az sql. Ha eliras es meg mindig rossz a datum akkor pedig vsz a datum formatuma nem ugyanaz az inputban mint az adatbazisban ezert nem tarolja.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd