Avatar billede hyperactive Nybegynder
16. januar 2006 - 18:23 Der er 15 kommentarer og
1 løsning

Objektet skal implementere IConvertible

Jeg har et problem med at indsætte en post i en SQL Database ved hjælp af Microsoft.ApplicationBlocks.Data.

Koden er følgende:

                SqlParameter[] arPar = new SqlParameter[2];
                arPar[0] = new SqlParameter("@overskrift", SqlDbType.VarChar, 200);
                arPar[0].Value = tbOverskrift.Text;
                arPar[1] = new SqlParameter("@kategoriId", SqlDbType.Int);
                arPar[1].Value = 1;       
                SqlHelper.ExecuteNonQuery(System.Configuration.ConfigurationSettings.AppSettings["dataSource"], "sr_insert_gaestebogEmne", arPar);

Jeg får fejlen:

System.InvalidCastException: Objektet skal implementere IConvertible.

Håber nogen kan hjælpe mig
Avatar billede snepnet Nybegynder
16. januar 2006 - 19:07 #1
Avatar billede hyperactive Nybegynder
16. januar 2006 - 19:43 #2
Jeg har kigget der ja, men forstår ikke helt, hvad der menes
Avatar billede arne_v Ekspert
16. januar 2006 - 23:26 #3
det er lidt mystisk

jeg ville forvente den fejl hvis du forsøgte:

arPar[0].Value = tbOverskrift;

fremfor:

arPar[0].Value = tbOverskrift.Text;

men det gør du jo ikke ...
Avatar billede snepnet Nybegynder
16. januar 2006 - 23:29 #4
... hvordan ser sr_insert_gaestebogEmne ud?
mvh
Avatar billede hyperactive Nybegynder
17. januar 2006 - 08:25 #5
CREATE PROCEDURE sr_insert_gaestebogEmne
@overskrift varchar(200),
@kategoriId int
AS
BEGIN
  INSERT INTO sr_gaestebogEmner(overskrift, kategoriId) VALUES (@overskrift, @kategoriId)
END
Avatar billede snepnet Nybegynder
17. januar 2006 - 10:16 #6
hvad så med denne:
sr_gaestebogEmner
mvh
Avatar billede hyperactive Nybegynder
17. januar 2006 - 10:25 #7
emneId (int)
overskrift(varchar,200)
kategoriId(int)
Avatar billede snepnet Nybegynder
17. januar 2006 - 10:51 #8
hm.... pas :o(
mvh
Avatar billede hyperactive Nybegynder
17. januar 2006 - 10:52 #9
Jeg tror sgu der er en bug i den Microsoft control
Avatar billede -mundi- Nybegynder
17. januar 2006 - 10:54 #10
Hvilken linie giver fejl ?
Avatar billede hyperactive Nybegynder
17. januar 2006 - 10:58 #11
SqlHelper.ExecuteNonQuery(System.Configuration.ConfigurationSettings.AppSettings["dataSource"], "sr_insert_gaestebogEmne", arPar);
Avatar billede -mundi- Nybegynder
17. januar 2006 - 11:10 #12
Nu ved jeg ikke helt hvilken version du bruger, men det ligner meget det der omtales her : http://weblogs.asp.net/ssmith/archive/2003/08/19/24524.aspx
Avatar billede -mundi- Nybegynder
17. januar 2006 - 11:26 #13
ExecuteNonQuery(IDbTransaction transaction, string storedProcedureName, params object[] parameterValues)

Så din kode kommer til at se sådan ud :

object[] arPar = new object[2];
                arPar[0] = tbOverskrift.Text;
                arPar[1] = 1;       
                SqlHelper.ExecuteNonQuery(System.Configuration.ConfigurationSettings.AppSettings["dataSource"], "sr_insert_gaestebogEmne", arPar);

Dog uden at have testet :-)
Avatar billede hyperactive Nybegynder
17. januar 2006 - 11:28 #14
Jeg har prøvet den måde også - uden held :(
Avatar billede -mundi- Nybegynder
17. januar 2006 - 11:31 #15
Du har set at jeg ikke bruger nogen form for SqlParametre ikk ?
Bare for at være helt sikker, for der er ret stor forkel på at kalde med SqlParametre og parameter values.
Avatar billede -mundi- Nybegynder
26. januar 2006 - 08:59 #16
Kom du frem til en løsning ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester