Oprettet tir. d. 14. november 2000 kl. 09:26:01

mickni33
mickni33 (13.827 point. Point ude: 150)

Søgning på navn

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

---------------------------------------------
I denne metode bliver der søgt på \' per \' men det er jo ikke særligt hensigtsmæssig da navnet jo er låst fast.
derfor er variablen S valgt  til at ligge navnet i, men jeg har ikke kunne få det til at fungerer, jeg ved der skal stå noget med

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

af en eller anden art(har prøvet forskellige ting) men jeg regner ikke med at det er et problem for jeg her på eksperten.
defor gives der desværre kun 10 point

Skrevet tir. d. 14. november 2000 kl. 09:27:38| #1

tigerdyr
tigerdyr (44.672 point)
Query1->SQL->Add(\"select * from KUNDE where fornavn =\'\" )+ S + \"\'\";


Skrevet tir. d. 14. november 2000 kl. 09:36:44| #2

mickni33
mickni33 (13.827 point)
Den laver desværre en fejl der siger
Ambiguity between _fastcall System::operator +

Jeg glemte at sige at det selvfølgelig er i Borland Builder 4 jeg har programmet liggende

Skrevet tir. d. 14. november 2000 kl. 09:46:56| #3

uffe_kld
uffe_kld (24.444 point)
skal det ikke være noget i retning af
char sznavn =\"per\" //som eksempel
char szQuery[] =\"select * from KUNDE where fornavn =\"
strcat(szQuery, sznavn);
Query1->SQL->Add(szQuery)

Skrevet tir. d. 14. november 2000 kl. 09:48:02| #4

uffe_kld
uffe_kld (24.444 point)
Jeg glemte anførelsestegnene

Skrevet tir. d. 14. november 2000 kl. 09:57:59| #5

mickni33
mickni33 (13.827 point)
Man kan ikke lave en Ansi til char, tør heller ikke rode mig ud i noget hvor jeg blander char, string og String. Så dygtig er jeg ikke endnu. Men der må være en nemmere måde har fået det til at virke før men har selvfølgelig glemt det nu. typisk. Det er noget med at skrive + S og så er det noget med anførselstegnene der skal stå rigtigt. Håber der er en ekspert der kan hjælpe mig

Skrevet tir. d. 14. november 2000 kl. 10:05:07| #6

mickni33
mickni33 (13.827 point)
Jeg tror heller jeg må sætte pointene op til 50 point for et svar jeg kan bruge

Skrevet tir. d. 14. november 2000 kl. 11:11:08| #7

mickni33
mickni33 (13.827 point)
Jeg lukker spørgsmålet selv om jeg ikke har fundet ud af en metode til at løse problemet

Skrevet tir. d. 14. november 2000 kl. 13:04:27| #8

jpk
jpk (44.958 point)
Argumentet S skal stå inde i parenteserne...
Noget lignende:

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


Skrevet tir. d. 14. november 2000 kl. 13:20:38| #9

mickni33
mickni33 (13.827 point)
Det virker desværre ikke må nok bladre mine bøger igennem med mindre der er en der har et guldkorn
ellers tak for hjælpen

Skrevet tir. d. 14. november 2000 kl. 13:40:29| #10

rm
rm (23.011 point)
sådanne har gør jeg:

string str = \"per\";
sprintf(aQuery, \"SELECT * FROM kunde WHERE fornavn = %s\", str.c_str());
Query1->SQL->Add(aQuery);

Skrevet tir. d. 14. november 2000 kl. 13:56:33| #11

mickni33
mickni33 (13.827 point)
Hej rm
er spændt på resultatet, men sprintf virker ikke i min builder skal der inkluderes noget

Skrevet tir. d. 14. november 2000 kl. 13:59:39| #12

rm
rm (23.011 point)
ja <stdio.h>
og <string.h> for at bruge string

Skrevet tir. d. 14. november 2000 kl. 14:08:41| #13

mickni33
mickni33 (13.827 point)
Desværre tør ikke blande dine koder med AnsiString
da vi er igang med et større projekt.
Men jeg prøver når jeg kommer hjem hvis det fungerer får du 100 point

Skrevet tir. d. 14. november 2000 kl. 14:15:58| #14

rm
rm (23.011 point)
du kan også bruge char*, følgene er fra MSDN:

sprintf, swprintf
Write formatted data to a string.

int sprintf( char *buffer, const char *format [, argument] ... );

int swprintf( wchar_t *buffer, const wchar_t *format [, argument] ... );

Routine Required Header Compatibility
sprintf <stdio.h> ANSI, Win 95, Win NT
swprintf <stdio.h> or <wchar.h> ANSI, Win 95, Win NT


For additional compatibility information, see Compatibility in the Introduction.

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version


Return Value

sprintf returns the number of bytes stored in buffer, not counting the terminating null character. swprintf returns the number of wide characters stored in buffer, not counting the terminating null wide character.

Parameters

buffer

Storage location for output

format

Format-control string

argument

Optional arguments

For more information, see Format Specifications.

Remarks

The sprintf function formats and stores a series of characters and values in buffer. Each argument (if any) is converted and output according to the corresponding format specification in format. The format consists of ordinary characters and has the same form and function as the format argument for printf. A null character is appended after the last character written. If copying occurs between strings that overlap, the behavior is undefined.

swprintf is a wide-character version of sprintf; the pointer arguments to swprintf are wide-character strings. Detection of encoding errors in swprintf may differ from that in sprintf. swprintf and fwprintf behave identically except that swprintf writes output to a string rather than to a destination of type FILE.

Generic-Text Routine Mappings

TCHAR.H Routine  _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
_stprintf sprintf sprintf swprintf


Example

/* SPRINTF.C: This program uses sprintf to format various
* data and place them in the string named buffer.
*/

#include <stdio.h>

void main( void )
{
  char  buffer[200], s[] = \"computer\", c = \'l\';
  int  i = 35, j;
  float fp = 1.7320534f;

  /* Format and print various data: */
  j  = sprintf( buffer,    \"\\tString:    %s\\n\", s );
  j += sprintf( buffer + j, \"\\tCharacter: %c\\n\", c );
  j += sprintf( buffer + j, \"\\tInteger:  %d\\n\", i );
  j += sprintf( buffer + j, \"\\tReal:      %f\\n\", fp );

  printf( \"Output:\\n%s\\ncharacter count = %d\\n\", buffer, j );
}


Output

Output:
  String:    computer
  Character: l
  Integer:  35
  Real:      1.732053

character count = 71


Stream I/O Routines

See Also  _snprintf, fprintf, printf, scanf, sscanf, vprintf Functions


--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.

Skrevet tir. d. 14. november 2000 kl. 14:56:09| #15

rm
rm (23.011 point)
hvad var der galt med det?

Skrevet tir. d. 14. november 2000 kl. 14:59:35| #16

mickni33
mickni33 (13.827 point)
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)


Skrevet tir. d. 14. november 2000 kl. 15:04:41| #17

mickni33
mickni33 (13.827 point)
rm
Din løsning så rigtig spændende ud men jeg tror den var lidt for syrede til mig . Men jeg må lige tjekke den ud når jeg får tid.(sidder og laver projekt).
Ellers tak for de mange svar fra alle jer eksperter

Skrevet tir. d. 14. november 2000 kl. 15:17:29| #18

rm
rm (23.011 point)
lige et siste spøgsmål det var i c/c++ ik\' ;o) 

Skrevet tir. d. 14. november 2000 kl. 15:20:30| #19

mickni33
mickni33 (13.827 point)
jooo,,aaaahh  C++ Builder 4.0

Skrevet tir. d. 14. november 2000 kl. 15:35:10| #20

rm
rm (23.011 point)
hvad var så syret ved det, har du aldrig brugt printf(), sprintf(), scanf() ,sscanf() eller alle de andre gode gamle c funtioner fra <stdio.h>?

Skrevet tir. d. 14. november 2000 kl. 15:36:58| #21

rm
rm (23.011 point)
hvis du selv har løst dit spørgsmål kan du så ikke lukke det ved at give dig selv pointne?

Skrevet tir. d. 14. november 2000 kl. 16:29:19| #22

mickni33
mickni33 (13.827 point)
OK Jeg er nybegynder på eksperten..
De gode gamle c funktioner har jeg aldrig brugt men bliver nødt til at kunne dem når jeg er færdig med datamatiker studiet.

Skrevet tir. d. 14. november 2000 kl. 16:46:09| #23

rm
rm (23.011 point)
datamatikerdet er jo kun en håndværker uddannelse
nej datalogi det er et studie ;o)

Skrevet tir. d. 14. november 2000 kl. 16:48:17| #24

mickni33
mickni33 (13.827 point)
<<rm
datalogi studiet  ja det gad jeg sku godt ender nok med at man bliver evigheds student

Skrevet tir. d. 14. november 2000 kl. 16:51:51| #25

rm
rm (23.011 point)
men med en høje løn og bedre uddannelse end en datamatiker nogen sinde for ;o)
(fag fasisme er godt... meget fag fasisme er meget godt)

Skrevet tir. d. 14. november 2000 kl. 16:52:13| #26

mickni33
mickni33 (13.827 point)
<<rm
har man stadig C på datalog studiet

Skrevet tir. d. 14. november 2000 kl. 16:54:52| #27

rm
rm (23.011 point)
vi har en 2 timers forlæsnig om c++ og så kan vi bare det ;O)

Skrevet tor. d. 16. november 2000 kl. 09:51:50| #28

blackie
blackie (24.279 point)
<<rm
Undskyld, jeg blander mig, men er vi så ikke alle håndværkere?
Vi bruger alle værktøjer og redskaber.
3. semester på Datamatiker uddannelsen består i at selv lave sit eget værktøj/redskab, nemlig en compiler.
Seriøst spørgsmål:
Hvad kan du, som vi andre ikke kan med din uddannelse?

Skrevet tir. d. 21. november 2000 kl. 01:05:29| #29

rm
rm (23.011 point)
i lære at bruge et værktøj til at løse et problem, vi lære at bruge en metode. Det betyder at når værktøjet er forældet kan vi uden problemmer bruge at andet.(tænk hvis det var comal og ikke c++ i lærte) ;o)

udover det så lære vi også at lave en compiler (og simulere en CPU) på 3. semester.

Skrevet ons. d. 22. november 2000 kl. 20:56:12| #30

blackie
blackie (24.279 point)
Vil du beskrive det nærmere: metode ??????

Jeg mener, når man har været div. værktøjer igennem, er der vel ikke så langt til det næste eller hvad???

Er der noget galt med c+++??
Du kunne lige så godt skrive i dit eget kodesprog, jeg forstår ikke en #include \"Prut.h\"
af hvad du mener.
Du har ikke givet mig et ordentligt svar, som jeg forstår...............

:0}Vil du det?

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Updater Hybrid App

Oprettet den 18. april 2012 kl. 13.29
sir_madsen giver 100 point for svar | Giv et svar »

Ansi-c win32API - kan ikke oprette Richedit4.1 kontrol

Oprettet den 16. april 2012 kl. 22.13
cblcbl giver 60 point for svar | Giv et svar »

Iphone Objective C - Sætte image på et imageview.

Oprettet den 7. april 2012 kl. 11.36
lasserasch giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger