23. august 2005 - 18:35
Der er
10 kommentarer og 1 løsning
indsæt dato i mysql?
Når jeg prøver at indsætte en dato og tid i mysql kommer der ikke andet i DB'en end en masse nuller..? ('0000-00-00 00:00:00') min sql: String sql = "update bruger set online = 0, sidstonline = '"+DateTime.Now+"' where brugernavn = '"+Brugernavn+"'"; Har også prøvet at konvertere DateTime.Now til en string for at se om det virkede... (gjorde det heller ikke) Nogen ideer?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. august 2005 - 18:39
#1
standard råd: brug parameters
Slettet bruger
23. august 2005 - 18:39
#2
hvad med sidstonline = now()
23. august 2005 - 18:39
#3
eksempel: using System; using System.Threading; using ByteFX.Data.MySqlClient; class MainClass { public static void Main(string[] args) { MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password="); con.Open(); MySqlCommand cre = new MySqlCommand("CREATE TABLE dtest (i INTEGER PRIMARY KEY, d DATETIME)", con); cre.ExecuteNonQuery(); MySqlCommand ins = new MySqlCommand("INSERT INTO dtest VALUES (@i, @d)", con); ins.Parameters.Add("@i", MySqlDbType.Int); ins.Parameters.Add("@d", MySqlDbType.Datetime); for(int i = 0; i < 10; i++) { ins.Parameters["@i"].Value = i; ins.Parameters["@d"].Value = DateTime.Now; Thread.Sleep(1000); ins.ExecuteNonQuery(); } MySqlCommand sel = new MySqlCommand("SELECT * FROM dtest", con); MySqlDataReader rdr = sel.ExecuteReader(); while(rdr.Read()) { int i = (int)rdr[0]; DateTime d = (DateTime)rdr[1]; Console.WriteLine(i + " " + d); } rdr.Close(); MySqlCommand drp = new MySqlCommand("DROP TABLE dtest", con); drp.ExecuteNonQuery(); con.Close(); } }
23. august 2005 - 18:40
#4
[eksemplet er en console app, men database indsæt virker selvfølgelig lige sådan i ASP.NET]
23. august 2005 - 18:52
#5
hvad er forskellen på om man bruger parameters eller om det står direkte i sql linien? Det er lidt svært for mig at læse det der, men så vidt jeg kan se, så er det DateTime.Now der bliver sat ind alligevel
23. august 2005 - 18:55
#6
med parameters så sørger driveren for formateringen
23. august 2005 - 19:06
#7
det kan jeg ikke lige få til at virke... hvordan gør man på den anden måde?
23. august 2005 - 19:11
#8
fandt selv ud af det: DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
23. august 2005 - 19:26
#9
arne v kom med et svar så får du pointne
23. august 2005 - 19:28
#10
du sagde da ellers at du ikke fik det til at virke !???
23. august 2005 - 19:32
#11
ja men du var den der hjalp mest og det med parameters tror jeg også er godt, men har bare ikke tid til at sætte mig ind i det lige nu :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.