IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

les BD sous C++ builder


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut les BD d'un serveur mail
    bonjour,
    je suis entrain de créer un mini serveur et un client mail(serveur mail personnel) en utilisant les sockets pour réaliser ce mini projet il faut utiliser les base de donné , lorsque un client demande de création un nouveaux compte il dois remplir un formulaire contient le login , mot de passe et adresse mail et l'envoyé au serveur le serveur dois effectué une recherche dans la base pour voir est ce que ce mail existe ou non
    alors ma question est comment le serveur effectué la recherche ou quelle est la requête de recherche dans la base

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    salut,

    tout dépend de ta bdd, je m'explique:
    sur dans ta table 'utilisateur' tu doit avoir par exemple les attributs:
    pseudo, mot de passe; donc une fois le formulaire envoyé, tu doit prendre le champs pseudo de ton formulaire et le chercher dans ta bdd : select count PSEUDO from bdd where pseudo='le champs pseudo du formulaire', si le count est >=1 donc le pseudo existe déja tu doit avertir l'utilisateur pour qu'il choisisse un autre pseudo.............;


    voila j'espere que sa va t'aider.

  3. #3
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    tu veux me dire qu'il faut utilise les requêtes sql pour la recherche des nom et l'insertion d'un nouveau nom, est ce qu'il y a une autre méthode facile si oui comment SVP, puisque j'ai trouvé une methode mais il est deficile

  4. #4
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    en même tps, interroger une base de données...sans faire de SQL...je vois pas moi...

    quelques bases à revoir peut-etre avant de te lancer dans un projet comme ça, non?

    ici par exemple

  5. #5
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    j'ai trouver ce code mais il est trés compliqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    ///////////////////////////////////////////////////////////////////////
    //                         rechercher dans un bd
    //
    ///////////////////////////////////////////////////////////////////////
     bool recherche(AnsiString nom,AnsiString pass)
    {
    TLocateOptions Opts;  // options de recherche
    Opts.Clear();
    Opts << loPartialKey;   // ?!
    Variant locvalues[2];
    locvalues[0] = Variant(nom);  //
    locvalues[1] = Variant(pass); // Valeuers
    return Form1->Table1->Locate("Nom;Mot de pass",VarArrayOf(locvalues, 1),Opts);
    }
    ///////////////////////////////////////////////////////////////////////
    //
    //
    ///////////////////////////////////////////////////////////////////////
    bool recherche_nom(AnsiString nom)
    {
    TLocateOptions Opts;  // options de recherche
    Opts.Clear();
    Opts << loPartialKey;   // ?!
    Variant l(nom);
    return Form1->
           Table1->
           Locate("Nom;",l,Opts);
     
    }
    //////////////////////////////////////////////////////////////////////
    //
    /////////////////////////////////////////////////////////////////////
    Addnew(AnsiString nom,AnsiString pass)
    {
    Form1->Table1->Insert();
    Form1->Table1->FieldByName("Nom")->AsString=nom;
    Form1->Table1->FieldByName("Mot de pass")->AsString=pass;
    Form1->Table1->Post();
    Creat_Message_DB(nom);
    Save_Message(nom,"System","Félicitations "+nom);
    }
     
    ///////////////////////////////////////////////////////////////////////
    //                Créer une base de données pour sauvgarder
    //                les messages de client
    //                Exemple : Client1_messages.MB
    //
    ////////////////////////////////////////////////////////////////////////
     
     
    Creat_Message_DB(AnsiString account_name)
    {
    TTable *DB=new TTable(NULL);
    DB->Active=false;  // The Table component must not be active
    DB->DatabaseName = "DATA\\MSG\\";
    DB->TableType = ttParadox;
     
    DB->TableName =account_name+"_messages";
     
    if (!DB->Exists) // Don't overwrite an existing table
    {
     // describe the fields in the table
      DB->FieldDefs->Clear();
      TFieldDef *pNewDef = DB->FieldDefs->AddFieldDef();
      pNewDef->Name = "Source";
      pNewDef->DataType = ftString;
      pNewDef->Size =20;
      pNewDef->Required = true;
      pNewDef =DB->FieldDefs->AddFieldDef();
      pNewDef->Name = "Date de réception";
      pNewDef->DataType = ftString;
      pNewDef =DB->FieldDefs->AddFieldDef();
      pNewDef->Name = "Message";
      pNewDef->DataType = ftMemo;
      pNewDef->Size = 240;
      DB->CreateTable();
    }
    }
    comment travaillé avec sql sous C++ builder puisque je suis débutante dans ce domaine

Discussions similaires

  1. Les interruptions sous Windows et Linux
    Par Descartes dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 07/06/2003, 22h42
  2. Les index sous Sybase
    Par Emdis dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 02/06/2003, 15h21
  3. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/11/2002, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo