05. december 2009 - 00:25
Der er
12 kommentarer og 1 løsning
Hjælp til syntaksfejl
hej, hvordan kommer jeg denne fejl til livs? "Parameterværdien fra Guid til String kunne ikke konverteres."
Annonceindlæg fra HP
05. december 2009 - 00:33
#1
Der er noget rod med typer - string versus guid. Hvordan ser koden ud?
05. december 2009 - 00:39
#2
Hvordan ser din kode ud ... ?
05. december 2009 - 00:54
#3
MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text); database.Addparameter("@A1, @A2, @A3", newUser.ProviderUserKey, SqlDbType.NVarChar); database.ExecuteNonQuery("INSERT INTO table (A1, A2, A3) VALUES ("@A1, @A2, @A3)"); database.ClearParameters();
05. december 2009 - 00:57
#4
Skal du ikke have 3 x AddParemeter (og med korrekt type!)?
05. december 2009 - 01:12
#5
kan man få et lille eksempel?
05. december 2009 - 01:17
#6
Som arne_v siger ... så er der et eller andet forkert. Men ... kan godt ske at jeg husker forkert ... du havde et tidligere spøgsmål ... hvis du igen, uden at poste kode selv løste dit problem. Og ud fra overstående virker det som at "database" er din egen klasse ... da AddParameter normalt er med et stort "P" ... og dit her er med lille ... Så igen ... du må vise og noget mere kode, da det her lidt noget du er ved at hjemme strikke dine egne sql klasser til håndtering af data ... Og så har du også fejl i overstående du har copy/pasted herind: database.ExecuteNonQuery("INSERT INTO table (A1, A2, A3) VALUES ("@A1, @A2, @A3)"); Den her linje er jo slet ikke valid ... Følgende laver en insert: SqlConnection con = new SqlConnection("din con string"); SqlCommand cmd = new SqlCommand("INSERT INTO table (A1, A2, A3) VALUES (@A1, @A2, @A3)", con); cmd.Parameters.Add("@A1", SqlDbType.Text).Value = "dinstring"; cmd.Parameters.Add("@A2", SqlDbType.Text).Value = "dinstring"; cmd.Parameters.Add("@A3", SqlDbType.Text).Value = "dinstring"; cmd.ExecuteNonQuery(); Du bliver nød til at poste hvad kode du bruger ... :-)
05. december 2009 - 01:19
#7
SqlCommand ins = new SqlCommand("INSERT INTO j VALUES(@id, @txt)", con); ins.Parameters.Add("@id", SqlDbType.Int); ins.Parameters.Add("@txt", SqlDbType.VarChar, 50); ins.Parameters["@id"].Value = 123; ins.Parameters["@txt"].Value = "ABC"; ins.ExecuteNonQuery();
05. december 2009 - 01:20
#8
Vi vil aldrig kunne vide hvad du kode gør hvis du ikke poster den ... og vi kan ikke vide ud fra en fejl besked om hvad du gør galt ... kun gætte i vilde ... Post kode ... hvad linje fejler kommer på ... Hvis du ikke poster kode fordi det af en eller anden grund ikke må offenlige gøres, må du genskabe problemet i anden sammenhænd og poste den kode ... så hjælper vi med glæde. // ouT
05. december 2009 - 02:35
#9
tak for hjælpen.. ok det vil jeg tænke over til næste gang ;-) Hvordan vil koden se ud hvis jeg skal have min membership oprettelse med? MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text); Skal have forbundet min membership-tabel med min oprettelses-tabel gennem UserId
05. december 2009 - 13:41
#10
hej buzzzz, Har leget lidt med dit eksempel, og får denne fejl: "ExecuteNonQuery kræver en åben og tilgængelig forbindelse. Forbindelsens aktuelle tilstand er lukket." - ved cmd.ExecuteNonQuery();
05. december 2009 - 13:55
#11
con.Open(); Lige før din cmd.ExecuteNonQuery();
05. december 2009 - 14:08
#12
tak det virker.. smider du et svar
05. december 2009 - 14:12
#13
svar
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.