找不到没有loPartialKey

时间:2017-12-19 14:21:25

标签: delphi delphi-xe2 tclientdataset

我使用的是Delphi XE2,我遇到了TClientDataset.Locate方法的问题。它只会定位#include <stdio.h> // perror(), printf(), fprintf(), // fgets(), fputs(), // fopen(), fclose() #include <stdlib.h> // system(), exit(), EXIT_FAILURE #include <string.h> // strlen(), strchr() #define MAX_NOME_LEN 30 // prototypes void inslivros( void ); int main( void ) { int escolha = 1; system("cls"); while( escolha ) { printf("1- Adicionar livro\n" "0- Voltar para o menu\n-> "); if( 1 != scanf( "%d", &escolha) ) { fprintf( stderr, "scanf for escolha failed\n" ); exit( EXIT_FAILURE ); } // implied else, scanf successful switch(escolha) { case 1: inslivros(); break; case 0: puts( "exiting" ); break; default: // user entered an invalid menu selection puts( "invalid menu selection, try again" ); break; } // end switch() } // end while() } // end function: main void inslivros() { char livro[ MAX_NOME_LEN ]; int categoria; printf( "Qual é o nome do livro que vai inserir?\n-> " ); //gets(livro); if( ! fgets( livro, sizeof livro, stdin ) ) { perror( "fgets for line to insert failed" ); exit( EXIT_FAILURE ); } // implied else, fgets successful // remove trailing newline char * newline; if( (newline = strchr( livro, '\n' ) ) ) { *newline = '\0'; } printf( "Qual é a categoria do livro?\n" "1- Romance\n" "2- História\n-> " ); if( 1 != scanf("%d", &categoria) ) { fprintf( stderr, "scanf to input the 'categoria' failed\n" ); exit( EXIT_FAILURE ); } //implied else, scanf successful FILE *livros = NULL; switch( categoria ) { case 1: if( ! (livros = fopen("C:\\Livros\\inserelivros.txt", "a") ) ) { perror( "fopen for inserelivros.txt failed" ); exit( EXIT_FAILURE ); } // implied else, fopen successful fputs(livro, livros); fclose(livros); FILE *romance; if( !(romance = fopen("C:\\Livros\\romance.txt", "a")) ) { perror( "fopen for romance.txt failed" ); exit( EXIT_FAILURE ); } // implied else, fopen successful fputs( livro, romance ); fclose( romance ); system("cls"); printf( "Livro inserido com Sucesso!\n" ); break; case 0: printf( "Historia not yet implemented\n" ); break; default: system("cls"); //printf("Nome inválido!\n"); printf( "invalid menu selection\n" ); break; } // end switch() } // end function: inslivros 是否作为参数传递。在其他情况下,即使记录确实存在,它也不会找到记录。这是一段代码:

loPartialKey

result := lSysEq.Locate('IDIV;CODE_EQ',VarArrayOf([aDiv,aEqCode]),[])); aDiv是字符串类型,aEqCodelSysEq。我不相信我做错了什么,而且我已经分解到了最基本的应用程序。我仍然找不到合适的记录。

0 个答案:

没有答案