webForumDet fria alternativet

problem med uppdatering

42 svar · 698 visningar · startad av andreas_lindh · sida 2 av 3

icaaqMedlem sedan okt. 20005 273 inlägg
#21

Är det access och ett Datum/Tid fält så vill access att värdet omringas av brädgårdar (#17:30#)

mvh icaaq

fredrikMedlem sedan dec. 19991 072 inlägg
#22

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...

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#23

Ä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

icaaqMedlem sedan okt. 20005 273 inlägg
#24

Varför har du en tid i ett text-fält?

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#25

För att användare som matar in värdet har otroligt svårt att följa instruktioner.

NETworkMedlem sedan juni 20011 732 inlägg
#26

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.

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#27

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

NETworkMedlem sedan juni 20011 732 inlägg
#28

Om dag och tid är strängar så tror jag du måste ha enkelblippar ' runt dessa.

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#29

Blir samma fel
System.Data.OleDb.OleDbException: Det har inte angetts något värde för en eller flera nödvändiga parametrar.

icaaqMedlem sedan okt. 20005 273 inlägg
#30
[red]
response.write(strsql4)
Response.End
[/red]

Gör så så ser vi hur SQLsatsen ser ut ?

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#31

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
NETworkMedlem sedan juni 20011 732 inlägg
#32

Gissar att det ska vara enkelblippar runt datumet, även om det är en datetime.

icaaqMedlem sedan okt. 20005 273 inlägg
#33

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

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#34

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
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#35

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
icaaqMedlem sedan okt. 20005 273 inlägg
#36

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

;)

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#37

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

icaaqMedlem sedan okt. 20005 273 inlägg
#38

Det står ju inte:

[red]
dim upptab as string="update ..... .... ... 
[/red]

Utan det står ju:

[red]
dim upptab ="update ..... ... .. .. 
[/red]
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#39

Det blir samma fel.

icaaqMedlem sedan okt. 20005 273 inlägg
#40

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

134 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)