Avatar billede ehv Nybegynder
19. maj 2003 - 20:27 Der er 12 kommentarer og
2 løsninger

Hjælp til at indsætte værdier i tabeler fra mit api

jeg har et program der modtager nogle værier i 5 forskelige char arreys. Værdierne fra de enkelte arreys skal indsættes i de enkelte felter på min tabel, mit problem er at jeg i øjeblikket ikke kan gemme noget som helst. Har forsøgt mig med.:
result=msqlQuery(sockdb,"select * from indbakke");
m_result* p=new m_result;
p=msqlStoreResult();
printf("DET_VIRKER:%d\n", result);   
result=msqlQuery(sockdb,"insert into indbakke values ('sequence','frombuff','tobuff','subjectbuff','datebuff','bodybyff')");
printf("DET_VIRKER:%d\n", result1);

min connect til databasen går godt og min select virker(jeg for retuneret antallet af rækker).
det skal siges at det er første gang jeg roder med et database api og databasen er msql.
Avatar billede arne_v Ekspert
20. maj 2003 - 08:50 #1
int sequence;
char frombuff[100];
char tobuff[100];
char subjectbuff[100];
char datebuff[100];
char bodybuff[1000];
char sql[1000];

/* giv disse værdier */

sprintf(sql,"insert into indbakke values (%d,'%s','%s','%s','%s','%s')",
        sequence,frombuff,tobuff,subjectbuff,datebuff,bodybuff);
result=msqlQuery(sockdb,sql);
Avatar billede ehv Nybegynder
20. maj 2003 - 09:04 #2
jeg svare på det andet spørgsmål.
emne er en fast char, msql undestøtter heller ikke varchar
Avatar billede ehv Nybegynder
20. maj 2003 - 09:12 #3
mine buffere indeholder char arreys fra noget jeg modtager fra min pop3
Avatar billede arne_v Ekspert
20. maj 2003 - 09:17 #4
Og der bliver appended noget overflødigt til subject men de øvrige
felter er OK ?
Avatar billede arne_v Ekspert
20. maj 2003 - 09:19 #5
Er du sikker på at det ekstra bliver lagt til i forbindelse med INSERT ?

Hvis du bruger:

prinf("subjectbuff='%s'\n",subjectbuff);
sprintf(sql,"insert into indbakke values (%d,'%s','%s','%s','%s','%s')",
        sequence,frombuff,tobuff,subjectbuff,datebuff,bodybuff);

så er der ikke noget ekstra i den ?
Avatar billede ehv Nybegynder
20. maj 2003 - 09:25 #6
det er mine buffere der er noget galt med.? jeg modtagger volapyk.
jeg laver lige en printf på dem alle
Avatar billede arne_v Ekspert
20. maj 2003 - 09:41 #7
Hvis den printer volapyk så tyder det på at den kode der parser
emailen og fylder værdier i varieblerne ikke virker som den skal.
Avatar billede ehv Nybegynder
20. maj 2003 - 09:52 #8
hvis jeg sætter mine buffere til at skrive ud på skærmen direkte ser det ud til at virke men hvis jeg udskriver den igen med min kontrol inden jeg indsætter til tabelen udskriver den volapyk
Avatar billede arne_v Ekspert
20. maj 2003 - 10:04 #9
Mystisk.

Er det samme variable ?

(jeg spekeluerer lidt på om du har lokale variable der skygger
for globale variable eller den slags)
Avatar billede arne_v Ekspert
20. maj 2003 - 10:23 #10
Dem her:

int sequence;
char frombuff[100];
char tobuff[100];
char subjectbuff[100];
char datebuff[100];
char bodybuff[1000];

skal jo kun erklæres en gang.
Avatar billede ehv Nybegynder
20. maj 2003 - 16:45 #11
hey Arne.
jeg fik det til at virke og du fik mig hjulpet godt igang, nok mest med dit indlæg fra mit andet spørgsmål, og dit forslag til test af buffer indhold.
sejt med en der har erfaring i programmering. =)
Avatar billede ehv Nybegynder
20. maj 2003 - 16:46 #12
kan man dele point?
Avatar billede ehv Nybegynder
20. maj 2003 - 16:47 #13
det kunne man godt. Er det ok med dig?
Avatar billede arne_v Ekspert
20. maj 2003 - 16:59 #14
helt fint
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
Computerworld tilbyder specialiserede kurser i database-management

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