04. september 2003 - 14:26
Der er
12 kommentarer og 2 løsninger
Dato ned i Access Database?
Hey har en access database der har en tabel med dato.. der er sat med access.. men hvordan får man en dato der ned fra et c# program? med et tryk på en knap.. har prøvet at bruge et dato felt, både med long og short dato.. men det virker ikke.. nogle der lige ved hvordan ?
Annonceindlæg tema
04. september 2003 - 14:51
#1
Er det ikke bare at Parse til en datoformat? Fx. Convert.ToDateTime(rs("felt")) //>Rune
04. september 2003 - 15:20
#2
måske har ikke prøvet.. men får fejl omkring rs.. rs does not exist? der ud over hvordan får jeg den ind i databasen efter den er convertet???
Slettet bruger
04. september 2003 - 16:52
#3
Hvis du vil lave en Access database forbindelse gør du det nemmest med en OleDb forbindelse: using System.Data.OleDb. OleDbConnection conn = new new OleDbConnection(); OleDbCommand cmd = new OleDbCommand(); conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.mdb;User Id=admin"; conn.Open(); Så kan du smide din dato ind. Jeg lader som om der er en tabel med et datofelt: cmd.CommandText = @"insert into tabel (datofelt) values (CDate(""" + System.DateTime.Now + @""")"; cmd.Connection = conn; cmd.ExecuteNonQuery(); conn.Close(); Altid kalde close() efter din insert. Det er CDate der fortæller Access at nu kommer en dato.
04. september 2003 - 17:32
#4
//adder til menu databasen OleDbConnection myConn = new OleDbConnection( getDatabaseDNS()); myConn.Open(); string strLink = "<a href=\"" + sideload.Text +"?id="+ IdLink.Text +"\" target=\""+ TargetLink.Text +"\">"+ TekstLink.Text +"</a>"; string strSQL="INSERT INTO menu(link,beskrivelse) VALUES('"+ strLink +"','"+ BeskrivelseLink.Text +"')"; //til at tjekke sql strengen med MessageBox.Show(strSQL.ToString()); OleDbCommand cmd; cmd=new OleDbCommand(strSQL,myConn); cmd.ExecuteNonQuery(); strSQL = ""; cmd.CommandText = @"insert into menu(date) values (CDate(""" + System.DateTime.Now + @""")"; cmd.Connection = myConn; cmd.ExecuteNonQuery(); myConn.Close(); når jeg trukker på knappen så stopper programmet og følgende linie bliver grøn cmd.ExecuteNonQuery();
04. september 2003 - 18:21
#5
//adder til menu databasen OleDbConnection myConn = new OleDbConnection( getDatabaseDNS()); myConn.Open(); string strLink = "<a href=\"" + sideload.Text +"?id="+ IdLink.Text +"\" target=\""+ TargetLink.Text +"\">"+ TekstLink.Text +"</a>"; string strSQL="INSERT INTO menu(link,beskrivelse,date) VALUES('"+ strLink +"','"+ BeskrivelseLink.Text +"'CDate(" + System.DateTime.Now.ToString() +")'"; //til at tjekke sql strengen med MessageBox.Show(strSQL.ToString()); OleDbCommand cmd; cmd=new OleDbCommand(strSQL,myConn); cmd.ExecuteNonQuery(); strSQL = ""; myConn.Close(); giver samme resultat
Slettet bruger
05. september 2003 - 09:01
#6
Måske er din database DNS forkert? Stien til access databasen skal være den absolutte (c:\...) og der skal være skrive _OG_ execute rettigheder til fil og bibliotek. Hvis access databasen ligger på en anden server en den som programmet kører på vil du få problemer. Microsoft har et hack til denne situation. Din SQL skal bruge dobbeltplinger "
05. september 2003 - 09:23
#7
starf>> I det sidste eksempel du kom med, mangler der et komma inden CDate(, desuden mangler der en ) men der er en ' for meget - så prøv med: string strSQL = "INSERT INTO menu (link, beskrivelse, date) VALUES ('" + strLink + "', '" + BeskrivelseLink.Text + "', CDate(" + System.DateTime.Now.ToString() + "))"; Hvis det ikke virker, må du gerne lige sende den fejlbesked med som du får...
05. september 2003 - 12:04
#8
min database sti er ikke forkert. da mit output osv fra databasen virker.. nielsbeck har prøvet det du skrev men den der kommer en knap op om man vil breake eller continue og så bliver følgende linie grøn cmd.ExecuteNonQuery(); "An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll"
Slettet bruger
05. september 2003 - 12:07
#9
Der mangler plinger i SQL sætningen. Du skal bruge dobbeltplinger: @"INSERT INTO menu (link, beskrivelse, date) VALUES (""" + strLink + @""", """ + BeskrivelseLink.Text + @""", CDate(""" + System.DateTime.Now.ToString() + @"""))";
05. september 2003 - 12:09
#10
nope så får jeg build errors...... ved de 3 """ ved (""" + strLink
Slettet bruger
05. september 2003 - 12:12
#11
Huskede du @'erne? @"INSERT INTO menu (link, beskrivelse, date) VALUES (""" + strLink + @""", """ + BeskrivelseLink + @""", CDate(""" + System.DateTime.Now.ToString() + @"""))"; Kompilerer fint.
05. september 2003 - 12:17
#12
ja ok min fejl.. glemte det første @ er lige vågnet :) Hmmm samme fejl som før.. kan det være fordi den sender klok osv med? min outpox siger følgende bliver smidt i databasen.. Insert into menu (link, beskrivelse, date) VALUES ("<a href="indhold.asp?id=25" target="vælg target">test<"a>","system.windows.form.TekstBox,Tekst",CDate("05-09-2003 12:16:06"))
Slettet bruger
05. september 2003 - 12:22
#13
Nej, jeg tror at dine tekster indeholder for mange plinger. Du kan konvertere plingerne i teksten til enkeltplinger: BeskrivelseLink.Text.Replace(@"""", "'");
05. september 2003 - 12:32
#14
har prøvet at fjerne de andre så den kun sætter dato ind.. hjælper ikke
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.