Är det access och ett Datum/Tid fält så vill access att värdet omringas av brädgårdar (#17:30#)
mvh icaaq
42 svar · 698 visningar · startad av andreas_lindh · sida 2 av 3
Är det access och ett Datum/Tid fält så vill access att värdet omringas av brädgårdar (#17:30#)
mvh icaaq
Fungerar det med access också?
Ja....bara att jag råkade skriva fel...
ska vara:
Dim objcmd4 As New OleDb.OleDbCommand(strsql4, New OleDb.OleDbConnection(objconn.ConnectionString))
låter lit e onödigt att skapa en ny anslutning varje gång.
Japp, jag håller med! Men det verkar inte gå på nåt annat sätt...
Är det access och ett Datum/Tid fält så vill access att värdet omringas av brädgårdar (#17:30#)
Nej det är ett text fält så jag förstår inte varför det blir fel
Varför har du en tid i ett text-fält?
För att användare som matar in värdet har otroligt svårt att följa instruktioner.
andreas_lindh skrev:
För att användare som matar in värdet har otroligt svårt att följa instruktioner.
Du kan ju alltid använd validatorcontrols för att "tvinga" besökarna att skriva in rätt... och/eller göra en funktion som parsar ut inskrivet datum till en korrekt datetime.
Du kan ju alltid använd validatorcontrols för att "tvinga" besökarna att skriva in rätt... och/eller göra en funktion som parsar ut inskrivet datum till en korrekt datetime.
Tänkte inte på att det gick och göra så.
Nytt problem som jag inte förstår vad det beror på.
Felmeddelande
System.Data.OleDb.OleDbException: Det har inte angetts något värde för en eller flera nödvändiga parametrar.
dim resultat1 as integer = dr("resultat_a")
dim resultat2 as integer = dr("resultat_b")
Dim strsql4 As String = String.Format("update matcher set lagid_a={0},lagid_b={1},dag={2},match_nummer={3}, tid={4}, cup_id={5},grupp_id={6},resultata={7},resultatb={8} where id={9}", lag1, lag2, dag, match_nummer,tid,cup_id,grupp_id,resultat1,resultat2, m_id)
response.write(strsql4)
dim objcmd4 as new oledbcommand(strsql4, objconn)
objconn.close
objcmd4.connection.open()
objcmd4.executenonquery()
objcmd4.connection.close()
datagrid1.Edititemindex =-1
datagrid1.databind()
objconn.open
Skriver jag ut strsql4 ser det ut så här:
update matcher set lagid_a=6,lagid_b=7,dag=tor,match_nummer=2, tid=1899-12-30, cup_id=27,grupp_id=2,resultata=0,resultatb=0 where id=10
Jag tycker att det ser rätt ut
Om dag och tid är strängar så tror jag du måste ha enkelblippar ' runt dessa.
Blir samma fel
System.Data.OleDb.OleDbException: Det har inte angetts något värde för en eller flera nödvändiga parametrar.
sql satsen ser ut så här:
update matcher set lagid_a=6,lagid_b=7,dag='tor',match_nummer=2, tid=#1899-12-30#, cup_id=27,grupp_id=2,resultata=0,resultatb=0 where id=10
Gissar att det ska vara enkelblippar runt datumet, även om det är en datetime.
Det jag brukar göra när SQL-satser krånglar.....kolla alla fnuttar('), kommatecken(,) och mellanslag ( ). Stämmer dem kolla alla fält i databasen om dem stämmer överens med satsen. Stämmer dem ställ frågan i QA (sqlserver) eller som en fråga i access.
Det brukar lösa problemen
mvh icaaq
Nu fungerar det. Det skulle vara ' fnuttar runt tid
Upptäckte ett till fel. Hade skrivit resultata istället för resultat_a.
Det blir ett nytt fel nu.
Exception Details: System.InvalidOperationException: Invalid attempt to Read when reader is closed.
Source Error:
Line 56: objconn.open
Line 57: dr =objcmd1.executereader
Line 58: while dr.read()
Line 59: dim lag1 as integer = dr("lagid_a")
Line 60: dim lag2 as integer = dr("lagid_b")
Source File: h:\inetpub\wwwroot\cup\spelschema.aspx Line: 58
Löste problemet med while dr.
Nytt problem
Är det något fel på den här sql satsen?
dim upptab as string="update Tabeller set poang=poang - 2,matcher=matcher - 1,win = win - 1,plus= plus - " + mala + ",minus= minus - " + malb + ",grupp_id = " + grupp_id +",lost=lost+0,tie=tie+0,lusminus = plusminus - " + plusminus1 +" where lag_id=" + laga +""
Felmedelande:
Exception Details: System.FormatException: Input string was not in a correct format.
Source Error:
Line 97: dim plusminus as integer = malb-mala
Line 98: dim plusminus1 as integer =mala-malb
Line 99: dim upptab ="update Tabeller set poang=poang - 2,matcher=matcher - 1,win = win - 1,plus= plus - " + mala + ",minus= minus - " + malb + ",grupp_id = " + grupp_id +",lost=lost+0,tie=tie+0,lusminus = plusminus - " + plusminus1 +" where lag_id=" + laga +""
Line 100: response.write(upptab)
Line 101: response.end
Source File: h:\inetpub\wwwroot\cup\spelschema.aspx Line: 99
icaaq skrev:
[red] response.write(strsql4) Response.End [/red]Gör så så ser vi hur SQLsatsen ser ut ?
icaaq skrev:
Det jag brukar göra när SQL-satser krånglar.....kolla alla fnuttar('), kommatecken(,) och mellanslag ( ). Stämmer dem kolla alla fält i databasen om dem stämmer överens med satsen. Stämmer dem ställ frågan i QA (sqlserver) eller som en fråga i access.
Det brukar lösa problemen
mvh icaaq
;)
Har provat att köra frågan i access. Fungerar perfekt.
Försökte skriva ut den med response.write men det fungerade inte utan jag får felmeddelandet.
Alla fält i databasen är tal
Det står ju inte:
[red]
dim upptab as string="update ..... .... ...
[/red]
Utan det står ju:
[red]
dim upptab ="update ..... ... .. ..
[/red]
Det blir samma fel.
Det är inte nått fel på syntaxen i SQL-satsen utan det där felmedelandet får du för att uppbygnaden av din string är felaktig. Kolla så att alla variabler stämmer, detta var mitt sista försök att hjälpa dig ikväll.
Gonatt icaaq