Avatar billede brian-johansen Nybegynder
18. maj 2006 - 22:25 Der er 22 kommentarer og
2 løsninger

Alternativ måde at skrive til en Database ?

Hej,

Jeg er løbet ind i et lille problem, jeg skal indsætte nogle elementer ind i en database. Det virker fint nok på min egen server og på en server hos onnet.no.

Problemet er bare at vi har valgt at flytte vores ting over til needhost af forskellige grunde.
Det er også gået fint på nær en ting, og det er at jeg ikke længere kan skrive eller opdatere vores database (acces).

Er der nogen der ved hvordan jeg evt. kan skrive nedenstående anderledes sådan det kommer til at virke, og er der nogen der umiddelbart kan give mig en grund til at det ikke virker ?

Mvh Brian

---------------- Koden ser så ud -----------------------

string komp = "Insert into produkt (produktId,navn,down,introduktion,series,fordele,info,downNavn,billede,largebillede) Values (@produktId,@navn,@down,@introduktion,@fordele,@info,@downNavn,@bil,@bilL)";
            OleDbCommand insertCommand = new OleDbCommand(komp,myConn);
            insertCommand.Parameters.Add("@produktId",OleDbType.VarChar).Value = kompId.Text;
            insertCommand.Parameters.Add("@navn",OleDbType.VarChar).Value = kompNavn.Text;
            insertCommand.Parameters.Add("@down",OleDbType.VarChar).Value = gemPdf.Text + kompDown.Text;
            insertCommand.Parameters.Add("@introduktion",OleDbType.VarChar).Value = kompIntro.Value;
            insertCommand.Parameters.Add("@fordele", OleDbType.VarChar).Value = DropDownList1.SelectedValue;
            insertCommand.Parameters.Add("@fordele",OleDbType.VarChar).Value = kompFordele.Value;
            insertCommand.Parameters.Add("@info",OleDbType.VarChar).Value = kompInfo.Value;
            insertCommand.Parameters.Add("@downNavn",OleDbType.VarChar).Value = kompDown.Text;
            insertCommand.Parameters.Add("@bil",OleDbType.VarChar).Value = gemBil.Text + kompBil.Text;
            insertCommand.Parameters.Add("@bilL",OleDbType.VarChar).Value = gemLarge.Text + kompBil.Text;
           
            try
            {
                myConn.Open();
                insertCommand.ExecuteNonQuery();
               
            }
            catch
            {
                Response.Write("Der er sket en fejl");
            }
            finally
            {
                myConn.Close();
            }
Avatar billede snepnet Nybegynder
18. maj 2006 - 23:41 #1
Du har sikkert bare ikke skriverettigheder på din database.... Det skal din host sikre at du har.
Mvh
Avatar billede snepnet Nybegynder
18. maj 2006 - 23:42 #2
(Med mindre de har en folder du skal bruge til den slags - hvor rettighederne er sat på forhånd.... Så skal du jo bare lægge basen i den).
Mvh
Avatar billede brian-johansen Nybegynder
18. maj 2006 - 23:56 #3
jeg har den til at ligge i app_data

Men du mener det højest sandsynligvis skyldes at rettighederne ikke er i orden.

mvh Brian
Avatar billede snepnet Nybegynder
18. maj 2006 - 23:58 #4
Hvis det virker hos dig - og ikke hos dem, er det i hvert fald sansynligt, men er du sikker på at du har adgang til databasen overhovedet? - kan du hente noget fra den?
Er du sikker på at din connectionstring er ok?
Mvh
Avatar billede arne_v Ekspert
19. maj 2006 - 02:55 #5
prøv og udskift

            catch
            {
                Response.Write("Der er sket en fejl");
            }


med

            catch(Exception e)
            {
                Response.Write("Fejl " + e);
            }

så vi kan se hvad fejlen er !
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 09:16 #6
Fejlen lyder sådan:
----------------
Der er sket en fejlSystem.Data.OleDb.OleDbException: Number of query values and destination fields are not the same. at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at komponet.ind.kompGem_Click(Object src, EventArgs e) in d:\Domains\bitlink.dk\wwwroot\iframe\ind.aspx.cs:line 115

mvh
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 10:33 #7
-> Snepnet, jeg så ikke lige dit indlæg.

Jeg kan godt hente ting derfra men der er når jeg skriver til DB'en at der kommer fejl

mvh Brian
Avatar billede arne_v Ekspert
19. maj 2006 - 13:26 #8
der er 10 i felt listen og 9 i value listen

series mangler !
Avatar billede arne_v Ekspert
19. maj 2006 - 13:27 #9
Values (@produktId,@navn,@down,@introduktion,*****mangler her****,@fordele,@info,@downNavn,@bil,@bilL)";
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 13:40 #10
Humm ja det kan jeg da godt se.... det var da mærkeligt.... jeg prøver lige at rette det også vende tilbage.

mvh Brian
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 19:40 #11
Så nu kom den fejl jeg egentlig skrev om, fejlen lyder sådan:
---------
Der er sket en fejlSystem.Data.OleDb.OleDbException: Operation must use an updateable query. at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at komponet.ind.kompGem_Click(Object src, EventArgs e) in d:\Domains\bitlink.dk\wwwroot\iframe\ind.aspx.cs:line 115

---------------------

Og igen jeg ved det virker på min egen maskine så jeg kan ikke helt forstå hvad problemet er ??

mvh Brian
Avatar billede arne_v Ekspert
19. maj 2006 - 19:47 #12
og den fejl pler at skyldes at det brugernavn ASP.NET koerer under ikke har
skrive adgang til MDB filen
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 19:51 #13
OK... Det er en gamle asp.net 1.1 version jeg har lagt over, hvis jeg nu retter den så det kommer til at ligge i App_data folder, vil der så være mulighed for at det kommer til at virke.. mvh Brian
Avatar billede arne_v Ekspert
19. maj 2006 - 19:58 #14
ingen anelse

proev
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 20:00 #15
ok
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 20:01 #16
Jamen så kan vi jo godt erklære spørgsmålet for løst, jeg siger mange tak for hjælper ligger i lige et svar ?

mvh Brian
Avatar billede arne_v Ekspert
19. maj 2006 - 20:15 #17
.
Avatar billede snepnet Nybegynder
19. maj 2006 - 23:15 #18
Og et her - har du fået dem til at sætte rettighederne, og konstateret om det virker?
Mvh
Avatar billede brian-johansen Nybegynder
19. maj 2006 - 23:18 #19
Nej Ikke endnu de har ikke svaret mig.... Desvære men sådan er det jo når man ikke vil betale mere end 8 kr. pr. mdr.
Avatar billede snepnet Nybegynder
20. maj 2006 - 10:46 #20
Ok ... 8 kr. pr. mdr er unægteligt også billigt :o)
Mvh
Avatar billede snepnet Nybegynder
20. maj 2006 - 10:47 #21
(jeg betaler en hel del mere, men jeg får sådan set heller ikke nogen synderlig respons når jeg nagger over noget :o)
Mvh
Avatar billede brian-johansen Nybegynder
20. maj 2006 - 13:15 #22
okay hvor har du din side til at ligge ?

mvh Brian
Avatar billede snepnet Nybegynder
20. maj 2006 - 14:36 #23
Ikke noget sted jeg på nogen måde kan anbefale :o) ... skal have fundet mig et andet sted at lægge det... Det er dyrt, ustabilt og med dårlig service.
Mvh
Avatar billede brian-johansen Nybegynder
20. maj 2006 - 15:41 #24
ok bare i orden :-)

mvh
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