Daniel78Medlem sedan jan. 2001200 inlägg Ok, detta kanske är ett enkelt problem men jag behöver lite hjälp med detta nu. Jag lägger in värden i en Access med en lagrad procedur(spNewLogg):
INSERT INTO tblLogg ( Datum, Refer, IP, Klient, Host )
VALUES ([@loggDatum], '@loggRefer', '@loggIP', '@loggKlient', '@loggHost');
Min VB kod ser ut så här:
'Lagra ny statistik i db
Dim objCmd As New OleDbCommand("spNewLogg", myConnection)
objCmd.CommandType = CommandType.StoredProcedure
Dim objParam As New OleDbParameter("@loggDatum", OleDbType.Char)
objParam.Value = Date.Now
objCmd.Parameters.Add(objParam)
objParam = New OleDbParameter("@loggRefer", OleDbType.Char)
objParam.Value = Request.ServerVariables("REMOTE_REFERER")
objCmd.Parameters.Add(objParam)
objParam = New OleDbParameter("@loggIP", OleDbType.Char)
objParam.Value = Request.ServerVariables("REMOTE_ADDR")
objCmd.Parameters.Add(objParam)
objParam = New OleDbParameter("@loggKlient", OleDbType.Char)
objParam.Value = Request.ServerVariables("REMOTE_USER_AGENT")
objCmd.Parameters.Add(objParam)
objParam = New OleDbParameter("@loggHost", OleDbType.Char)
objParam.Value = Request.ServerVariables("REMOTE_HOST")
objCmd.Parameters.Add(objParam)
myConnection.Open()
objCmd.ExecuteNonQuery()
Men det enda värde som blir riktigt i databasen är datumet, de övriga blir @loggRefer, @loggIP ... etc! Och så vill jag ju inte ha det! :r
celiaMedlem sedan dec. 20012 532 inlägg Re: Nybörjare
Daniel78 skrev:
INSERT INTO tblLogg ( Datum, Refer, IP, Klient, Host )
VALUES ([@loggDatum], '[@loggRefer', '@loggIP', '@loggKlient', '@loggHost');
Ska den vara där? I så fall fattas det en ]
GladhMedlem sedan maj 20012 812 inlägg Faktiskt aldrig sysslat med parameters i SQL Sats men min vilda gissning är denna.
INSERT INTO tblLogg ( Datum, Refer, IP, Klient, Host )
VALUES (@loggDatum, @loggRefer, @loggIP, @loggKlient, @loggHost);
- M
Daniel78Medlem sedan jan. 2001200 inlägg Till att börja med så skulle [-tecknet inte vara där, det är redigerat nu.
Till din lösning Gladh, när jag plockar bort enkelfnuttarna från proceduren så får jag ett felmedelande av typen
Parametern [@loggRefer] har inget standardvärde.
Annars om någon vet hur jag ska lägga in värden genom en lagrad procedur så får ni gärna hjälpa mig. Ovanstående lösning hittade jag på nätet som jag sen har modifierat, kanske är denna inte bra då? :r
GladhMedlem sedan maj 20012 812 inlägg Har du kollat så att Request.ServerVariables("REMOTE_REFERER") innehåller ett värde så att det inte är NULL. Om det är NULL så kanske den vill ha ett standard värde.
Detta är dock en gissning, eftersom det borde gå att skicka in NULL till parametern.
Du pratar om SP's men vill ändå ha parameterna i din SQL Sats. Har du tillgång till SP's ?
- M
Daniel78Medlem sedan jan. 2001200 inlägg SP:en har jag själv skapat i min Access db. Alltså det här med parametrarna är en lösning jag hittade på en ASP.NET guide nånstans men om det finns någon enklare/bättre lösning för att spara data i en DB med hjälp av en SP så får du gärna hjälpa mig med det. :bire
Daniel78Medlem sedan jan. 2001200 inlägg Ingen som vet hur man gör en Insert till en Access db genom en lagrad procedur? :q
VimpMedlem sedan juli 20022 537 inlägg Daniel78Medlem sedan jan. 2001200 inlägg Problemet är löst nu! :birp Fick lägga till "" & framför request.servervariables eftersom vissa av requesten blir tomma/Null när man kör på den lokala servern och det klarar inte parametrarna.
"" & Request.ServerVariables("REMOTE_REFERER")