Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

insert()

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: insert() Responder citando

hola amigos.

he hecho una aplicación en donde puedo insertar un registro en la fila o línea que el usuario desea. solo hace click en la linea deseada(sobre una grilla) y el valor a insertar se coloca SOBRE la linea seleccionada. el codigo es el siguiente:

Código:

    int indice;
    int contador=1; //indice seleccion
    AnsiString s;   //nombre campo seleccion
    //genera un puntero a la linea seleccionada
    TDataSet *pDS = DBGrid1->DataSource->DataSet;
    pDS->GotoBookmark((void *)DBGrid1->SelectedRows->Items[0].c_str());
    s=pDS->Fields->Fields[1]->AsString;
    // recorre la lista para recuperar el indice
    Table1->First();
    while(!Table1->Eof)
    {
        if(Table1->Fields->Fields[1]->AsString==s)              contador++;
        Table1->Next();
    }

    // caso 1: agregar encima
    if(RadioButton1->Checked)
    {
        Table1->Last();
        for(indice=Table1->RecordCount; indice>=contador; indice--)
        {
            Table1->Edit();
            Table1->Fields->Fields[0]->Value=indice+1;
            Table1->Post();
            Table1->Prior();
        }
        Table1->Insert();
        Table1->Fields->Fields[0]->Value=indice+1;
        Table1->Fields->Fields[1]->Value=Edit1->Text;
        Table1->Post();
    }
    else //caso 2: agregar por debajo
    {

           /*??????????????????? ¿ideas?*/
    }

    Table1->First();
    Table1->MoveBy(contador-1);
    ShowMessage(Table1->Fields->Fields[1]->AsString);


funciona de maravilla, pero el problema es que la instruccion insert() segun me he dado cuenta genera el espacio para insertar una fila por sobre la seleccion. luego, ¿como lo hago para insertar un dato por debajo?

alguien que me explique por favor los dos casos, please
de antemano muchas gracias. Salu2
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Append(), pero lo coloca fisicamente al finaL, en realidad no importa donde esten fisicamente, eso lo solucionas con un INDICE
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

gracias por la respuesta Touchsoftwares. me ha ayudado mucho Laughing
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.