2011-02-16 4 views
0

Suis nouveau à sqlite et aussi la programmation, Essaie ceci à partir d'une semaine et pas capable de bouger un peu en avant.J'ai vu U ont aidé beaucoup et je pense que je peux être résolu mon problème par vous.J'ai posté beaucoup , mais je n'ai pas eu de réponse de n'importe où pour cela. U pouvez me contacter: [email protected]Comment ajouter des valeurs à uipickerview à partir de la base de données sqlite?

Au début, je dois créer deux uipickerviews distincts sur la même vue.Dans cette sélection, je dois insérer des valeurs de tables de base de données sqlite. Dans la première vue je dois obtenir les valeurs de la première table de sqlite. Et dans la deuxième vue je dois obtenir les valeurs de la deuxième table en comparant avec l'id. les vues doivent être sur la même vue.

Tableau 1: qualification

CREATE TABLE qualification (id INTEGER PRIMARY KEY, nom VARCHAR (50), description TEXTE);

INSÉRER DES VALEURS de «qualification» (1, «P.G», «Post Graduation»);

INSÉRER DES VALEURS de «qualification» (1, «Degré», «Sous graduation»);

INSÉRER DANS "qualification" VALEURS (1, 'Ten + Two', 'college');

Tableau 2: Bien entendu

CREATE TABLE golf (Id entier primarykey, nombre entier de nombre, nom1 varchar (20), description1 texte (30));

INSÉRER DANS "Course" VALEURS (1,1, 'MCA', 'Master in computers'); INSERT INTO "Course" VALEURS (2,1, 'MBA', 'Master in Bussiness'); INSERT INTO "Course" VALEURS (3,2, 'BSc', 'Bachelor in sscience'); INSERT INTO "Course" VALUES (4,2, 'BCom', 'Bachelor dans les comptes'); INSERT INTO "Course" VALUES (5,3, 'MPC', 'Mathématiques'); INSERT INTO "Course" VALEURS (5,3, 'BPC', 'Biology');

Voir dans le premier tableau, je vais obtenir des valeurs PG, Degree, Ten + Deux

quand je clique sur PG il doit afficher en textfield et en deuxième pickerview je dois obtenir que des valeurs qui correspond à « id » de la qualification avec "nombre" bien sûr.

Et quand nous choisissons la valeur doit afficher dans textfield Merci u

Répondre

0

J'ai fait un projet pour vous montrer comment faire ce que vous demandez.

Vous pouvez télécharger le projet d'ici:

http://www.crowsoft.com.ar/downloads/twoPickerViews.zip

Un très bon tutoriel pour SQLite iPhone se trouve ici:

http://www.icodeblog.com/2008/08/19/iphone-programming-tutorial-creating-a-todo-list-using-sqlite-part-1/

Pour gérer un PickerView vous avez besoin d'un tableau pour contenir les données.

J'ai déclaré deux classes (Qualification et Course) pour représenter vos tables et deux variables NSMutableArray pour contenir les données.

Pour lier les deux PickerViews dont vous avez besoin pour mettre en œuvre UIPickerViewDataSource et UIPickerViewDelegate dans votre vue controleur:

@interface twoPickerViewsViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> { 

pour répondre lorsque l'utilisateur de sélectionner une qualification que vous devez coder didSelectRow:

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    // And now the final part of the UIPickerView, what happens when a row is selected. 
    if (thePickerView == qualificationsPicker) { 
     if (row >= 0 && row < [m_qualifications count]) { 
      m_selectedQualification = [m_qualifications objectAtIndex:row];  
      qualificationName.text = m_selectedQualification.qualificationName; 
      [self getCourses]; 
      [coursesPicker reloadAllComponents]; 
     } 
    } 
} 

Vous besoin de coder trois méthodes supplémentaires, numberOfComponentsInPickerView, numberOfRowsInComponent, titleForRow:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { 
    // This method needs to be used. It asks how many columns will be used in the UIPickerView 
    return 1; // We only need one column so we will return 1. 
} 

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component { 
    // This method also needs to be used. This asks how many rows the UIPickerView will have. 
    if (thePickerView == qualificationsPicker) { 
     return [m_qualifications count]; // We will need the amount of rows that we used in the pickerViewArray, so we will return the count of the array. 
    } 
    else { 
     return [self getCourses]; 
    } 
} 

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
    // This method asks for what the title or label of each row will be. 
    if (thePickerView == qualificationsPicker) { 
     Qualification *qualification = [m_qualifications objectAtIndex:row]; 
     return qualification.qualificationName; // We will set a new row for every string used in the array. 
    } 
    else { 
     Course *course = [m_selectedCourses objectAtIndex:row]; 
     return course.courseName; 
    }  
} 
Questions connexes