27. februar 2005 - 22:42
Der er
10 kommentarer og 1 løsning
Oracle fejl med dato.
Jeg får følgende fejl når jeg prøver at lægge data ind. ORA-1830: datoformatbillede slutter før konvertering af hele inputstrengen Jeg kan ikke gennemskue hvad jeg gør galt. Her er min kode: createCommandSet(); objCmd.CommandType=System.Data.CommandType.StoredProcedure; objCmd.CommandText=commandText; objCmd.Parameters.Add("res",Oracle.DataAccess.Client.OracleDbType.Int32,System.Data.ParameterDirection.ReturnValue); objCmd.Parameters.Add("pBestilDato",Oracle.DataAccess.Client.OracleDbType.Date,System.Data.ParameterDirection.Input); objCmd.Parameters.Add("pBestilBemaerk",Oracle.DataAccess.Client.OracleDbType.Varchar2,System.Data.ParameterDirection.Input); objCmd.Parameters.Add("pStedNr",Oracle.DataAccess.Client.OracleDbType.Int32,System.Data.ParameterDirection.Input); objCmd.Parameters.Add("pOenskeDato",Oracle.DataAccess.Client.OracleDbType.Date,System.Data.ParameterDirection.Input); objCmd.Parameters["pBestilDato"].Value="2-2-2004"; objCmd.Parameters["pBestilBemaerk"].Value="hejsa"; objCmd.Parameters["pStedNr"].Value="331"; objCmd.Parameters["pOenskeDato"].Value="2-2-2004"; return (object)objCmd.ExecuteNonQuery(); Jeg håber der er hjælp at hente her
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
27. februar 2005 - 22:47
#1
Prøv: objCmd.Parameters["pBestilDato"].Value=DateTime.Parse("2-2-2004"); ... objCmd.Parameters["pOenskeDato"].Value=DateTime.Parse("2-2-2004");
27. februar 2005 - 23:09
#2
Det ser fint ud arne :) Nu får jeg blot følgende fejl: ORA-01722: invalid number ORA-06512: at "VEGAS_2.WWW_DB_ACCESS", line 88 ORA-06512: at line 1 Dette er selve den funktion:(linie 74-105) FUNCTION INSERT_WWW_BESTIL( pBestilDato IN DATE, pBestilBemaerk IN VARCHAR2, pStedNr IN NUMBER, pOenskeDato IN DATE) RETURN NUMBER IS BestilNr NUMBER; BEGIN SELECT SA_Bestil_Nr.NEXTVAL INTO BestilNr FROM dual; INSERT INTO TA_WWW_BESTIL ( Bestil_nr, Bestil_Dato, Bestil_Bemaerk , Sted_Nr, Aktiv, Oenske_Dato) VALUES( BestilNr, pBestilDato, pBestilBemaerk, pStedNr, 'J', -- pAktiv pOenskeDato); RETURN BestilNr; END;
27. februar 2005 - 23:09
#3
Håber det er okay jeg udvider spørgsmålet lidt :)
27. februar 2005 - 23:14
#4
Jo men jeg ved ikke om jeg kan løse det. Prøv: objCmd.Parameters["pStedNr"].Value=331;
27. februar 2005 - 23:16
#5
Det har jeg prøvet...Det hjalp ikke :( Den siger det er inde i dbfunktionen jo..
27. februar 2005 - 23:18
#6
Jeg gætter ! Jeg undrer mig iøvrigt over at pStedNr er NUMBER og ikke INTEGER i FUNCTION'en når den er Int32 i C#
27. februar 2005 - 23:22
#7
Hvad skal jeg ellers kalde den i c#?
27. februar 2005 - 23:26
#8
SQL NUMBER er C# decimal og så skal du kun finde en god Oracle.DataAccess.Client.OracleDbType.
27. februar 2005 - 23:26
#9
Men jeg ved ikke om det har noget med problemet at gøre
28. februar 2005 - 08:35
#10
INSERT INTO TA_WWW_BESTIL ( Bestil_nr, Bestil_Dato, Bestil_Bemaerk, Sted_Nr, Aktiv, Oenske_Dato) VALUES( BestilNr, to_date(pBestilDato, 'DD-MON-YYYY, HH:MI PM'), pBestilBemaerk, pStedNr, 'J', -- pAktiv to_date(Oenske_Dato, 'DD-MON-YYYY, HH:MI PM')); RETURN BestilNr; you're probably better off explicitly using a date conversion such as: insert into EJB.POCTradeBeanTbl (trade_oid, security_oid, position_oid, amount, price, tradeTime) values (1, 506, 1, 878.63, 7.16, to_date('30-NOV-1992, 12:10 PM', 'DD-MON-YYYY, HH:MI PM');
02. marts 2005 - 09:06
#11
Jeg fandt fejlen. Det var en SQL fejl. tak for jeres hjælp.
Computerworld tilbyder specialiserede kurser i database-management