Avatar billede mickni33 Nybegynder
14. november 2000 - 12:37 Der er 12 kommentarer og
1 løsning

C++ Builder 4.0 / SQL

Tidliger på dagen tilbød jeg 10 point for et svar nu må jeg heller op på 100.

S=Edit1->Text;
  Query1->SQL->Clear();
  Query1->SQL->Add(\"select * from KUNDE where fornavn = \'mich\' \" );
  Query1->Open();
        String navn=Query1->FieldByName(\"fornavn\")->AsString;
        DBEdit1->Text=navn;

Problemet er at metoden kun vil søge når jeg skriver \'mich\' i koden

Query1->SQL->Add(\"select * from KUNDE where fornavn = \'mich\' \" );

og det er jo ikke smart for så er navnet jo låst fast.
Jeg har sat en S=edit1->text øverst som jo gemmer det navn der er tastet ind. det S vil jeg så sætte ned bag Add() sætningen som en  + S  et eller andet men jeg kan ikke få det til at virke håber der er en der har et svar for 100 point.
Avatar billede dmk Nybegynder
14. november 2000 - 12:42 #1
char QueryText[400];

sprintf(QueryText, \"select * from KUNDE where fornavn = \'%s\'\", S.c_str());
Query1->SQL->Add(QueryText);

Det skulle gerne gøre det!

DMK

Avatar billede borrisholt Novice
14. november 2000 - 12:42 #2
hvad med
  AnsiString SQLTxt =  \"select * from KUNDE where fornavn = \\\"\"+s+\"\\\"\";
Query1->SQL->Add(SQLTxt);

det vil jeg tor virker ...

Jens
 
Avatar billede mickni33 Nybegynder
14. november 2000 - 12:56 #3
Den compilerer godt nok men den skriver en fejl at der mangler en parameter og så står der npget med    1.\'.
Ved ikke hvad det betyder
Avatar billede mickni33 Nybegynder
14. november 2000 - 12:57 #4
jeg glemte at sige at svaret var til borrisholt
Avatar billede borrisholt Novice
14. november 2000 - 12:58 #5
Hest - 5 - Kurt Ravn. Modforstået skifter !

Hvem skriver du det til mickni33 ?

Jens B
Avatar billede borrisholt Novice
14. november 2000 - 12:58 #6
Jeg er nok nød til at se fejlmeddelsen ..

Jens B
Avatar billede mickni33 Nybegynder
14. november 2000 - 13:21 #7
Virke desværre ikke men ellers tak for hjælpen
Avatar billede mickni33 Nybegynder
14. november 2000 - 13:31 #8
Ok allesammen
kan det have noget at gøre at man måske ikke kan bruge en Query når man bruger Access , måske skal man bruge en Table istedet ...... eller hva
Avatar billede mickni33 Nybegynder
14. november 2000 - 15:01 #9
Jubiiiiiiii
Nu har jeg omsider selv fundet ud af problemet. Man må sige at man skulle over i en anden grøft.
Men her er løsningen efter at have blandet en masse kode sammen fra diverse bøger.
Kris Jamsa\'s hæfte længe leve...huraaaahh.

nej bare en joke.

S=Edit1->Text;
Query1->SQL->Clear();   
Query1->SQL->Add(\"select fornavn from KUNDE where fornavn =:Param1\");
   
    Query1->ParamByName(\"Param1\")->AsString=S;
    Query1->Open();
   
String navn= Query1->FieldByName(\"fornavn\")
->AsString;

DBEdit1->Text=navn;


Fejlen eller løsningen var metoden ParamByName(ansiString)
Avatar billede mickni33 Nybegynder
14. november 2000 - 15:07 #10
Spørgsmål er dermed lukket
Avatar billede jd Nybegynder
14. november 2000 - 16:22 #11
det er det da ikke! Svar lige selv, og acceptér!
Avatar billede mickni33 Nybegynder
14. november 2000 - 16:25 #12
OK jeg er nybegynder på eksperten
Avatar billede jd Nybegynder
14. november 2000 - 16:26 #13
okay :)
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
Kurser inden for grundlæggende programmering

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