Visualizzazione dei risultati da 1 a 10 su 10

Discussione: asp.net Aiuto!!

  1. #1
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    asp.net Aiuto!!

    Gentili signori,
    sono nuovo di qui ed ho deciso di iscrivermi proprio nel vostro forum perchè qui ho notato serietà e completezza nelle risposte che date. Complimenti davvero!!

    Volevo sottoporvi un problema: mediante Visual studio 2005 ho costruito un sito web che dovrebbe gestire un'anagrafe, quindi usa una base dati.
    Dico 'dovrebbe' perchè all'atto dell'esecuzione il compilatore mi fa vedere la pagina web con caselle di test e pulsanti così come l'ho creata, ma quando premo il pulsante relativo alla visualizzazione dei record della base dati mi viene mostrato questo errore:


    ERROR [42S21] [MySQL][ODBC 3.51 Driver][mysqld-5.0.27-community-nt]Unknown column 'rowid' in 'field list'
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Data.Odbc.OdbcException: ERROR [42S21] [MySQL][ODBC 3.51 Driver][mysqld-5.0.27-community-nt]Unknown column 'rowid' in 'field list'

    Errore nel codice sorgente:


    Riga 137: }
    Riga 138:
    Riga 139: adapter.Fill(dataset);
    Riga 140: table = dataset.Tables[0];
    Riga 141: row = table.Rows[0];


    File di origine: c:\Documents and Settings\TMR\Documenti\Visual Studio 2005\WebSites\WebSite1\LeggiQuery.aspx.cs Riga: 139


    E' inutile dirvi che sto impazzendo per questa cosa... vi sarei grato se qualcuno di voi mi potesse almeno dare un piccolo suggerimento...
    Grazie in anticipo!

    _J_

  2. #2
    questo dice tutto..

    Unknown column 'rowid' in 'field list'

    e' un'errore nella query sql.. e ad occhio sembra anche banalotto

    Posta il codice e la struttura del db va..
    Fiore Bat - www.bcscommunity.it

  3. #3
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    PARTE 1

    Ciao!
    Innanzitutto grazie per la tua risposta..
    ...e scusami per la banalità del mio quesito ma ho iniziato da poco con il visual studio e quindi ho ancora poca esperienza...

    La base dati a cui vorrei connettermi è "anagrafe" ed è formata da:
    (ti riporto il codice sql)

    ++++++++++++++++++++++DATABASE 'ANAGRAFE'+++++++++++++++++++++++++++++



    -------------------------------------TABELLE----------------------------------------

    CREATE TABLE `CITTADINO`
    (
    `COD_PERSONA` INT(7),`PRIMO_NOME` VARCHAR(30),`SECONDO_NOME` VARCHAR(30),
    `COGNOME` VARCHAR(30),`SESSO` VARCHAR(1),`DATA_ORA_MIN_NASCITA` DATETIME,
    `COD_ISTAT_COM_ITA_NASCITA` INT(6),`COD_COM_EST_NASCITA` INT(6),`COD_ISTAT_COM_ITA_PRIMA_ISCR` INT(6),`COD_COM_EST_PRIMA_ISCR` INT(6),
    `COD_PADRE` INT(7),`COD_MADRE` INT(7),`COD_FISCALE` VARCHAR(16),
    `PRIMA_CITTADINANZA` VARCHAR(3) ,`SECONDA_CITTADINANZA` VARCHAR(3),
    `NR_ATTO_ISCRIZIONE` INT(3),`PARTE_I` INT(1),`SERIE_I` VARCHAR(1),`UFFICIO_I` VARCHAR(1),`VOLUME_I` INT(1),`DATA_I` DATETIME,`NR_ATTO_TRASCRIZIONE` INT(3),
    `PARTE_T` INT(1),`SERIE_T` VARCHAR(1),`UFFICIO_T` VARCHAR(1),`VOLUME_T` INT(1),`DATA_T` DATETIME,`COD_CONDIZIONE` VARCHAR(1),`COD_TITOLO_STUDIO` INT(2),
    `COD_PROFESSIONE` INT(2),`COD_RAMO_ATTIVITA` INT(2)) engine=InnoDB;

    CREATE TABLE `DOCUMENTI_PERSONALI`
    (`NUM_DOCUMENTO` INT(15) ,`COD_PERSONA` INT(7) ,`COD_ISTAT_COMUNE_ITA_RILASCIO` INT(6),`COD_COMUNE_EST_RILASCIO` INT(6),
    `COD_STATO_VALID_SCAD_ITER` INT(2) ,`MOTIVO_DOCUMENTO` VARCHAR(30) ,
    `DATA_RILASCIO` DATETIME ,`DATA_SCADENZA` DATETIME ,`FLAG_CI` VARCHAR(1) ,
    `FLAG_PP` VARCHAR(1),`FLAG_LL` VARCHAR(1) ,`FLAG_LP` VARCHAR(1) ,
    `DATORE_LAVORO` VARCHAR(50),`PERIODO_LAVORO` VARCHAR(30),`SEGNI_PARTICOLARI` VARCHAR(50),`CATEGORIA_PENSIONE` VARCHAR(50)
    )engine=InnoDB;

    CREATE TABLE `DOMICILIO`
    (`COD_VIA` INT(5) ,`NUM_CIVICO` VARCHAR(4) ,`FLAG_DOMICILIO_CORRENTE` VARCHAR(1) ,`N_SCALA` VARCHAR(1),`N_PIANO` INT(2),`N_INTERNI` INT(2) )engine=InnoDB;

    CREATE TABLE `SPOSTAMENTI_E_I`
    (`N_PRATICA` INT(5) ,`COD_ISTAT_COM_ITA_DEST` INT(6),`COD_ISTAT_COM_ITA_PART` INT(6),`COD_COM_EST_DEST` INT(6),
    `COD_COM_EST_PART` INT(6),`COD_PERSONA` INT(7),`DATA_SPOSTAMENTO` DATETIME,
    `DATA_REGISTRAZ_SPOSTAM` DATETIME )engine=InnoDB;

    CREATE TABLE `NUCLEO_FAM_E_CONVIVENZE`
    (`COD_NUCLEO_FAMILIARE` INT(7),`DATA_CREAZIONE` DATETIME ,`TIPO_NUCLEO` VARCHAR(1) )engine=InnoDB;

    CREATE TABLE `ABITA_IN`
    (`COD_PERSONA` INT(7),`COD_VIA` INT(5),`NUM_CIVICO` VARCHAR(4),`DATA_VARIAZ_DOMICILIO` DATETIME )engine=InnoDB;

    CREATE TABLE `HA_STATO_CIVILE`
    (`COD_PERSONA` INT(7) ,`COD_STATO_CIVILE` VARCHAR(1) ,`DATA_VARIAZIONE_SC` DATETIME,`FLAG_SC_CORRENTE` VARCHAR(1) )engine=InnoDB;

    CREATE TABLE `RUOLO_IN_NF_O_CONVIV`
    (
    `COD_PERSONA` INT(7),`COD_NUCLEO_FAMILIARE` INT(7),`COD_PARENTELA_CON_IS_O_CC` VARCHAR(2),`DATA_INSERIMENTO_IN_NF_CONV` DATETIME,`DATA_RIMOZ_DA_NF_CONV` DATETIME,`CONDIZIONE_IN_NF_CONV` VARCHAR(1) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_STATO_DOCUM`
    ( `COD_STATO_DOCUM` INT(2),`NOME_STATO_DOCUM` VARCHAR(50) ) engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_CONDIZIONE`
    (`COD_CONDIZIONE` VARCHAR(1) ,`NOME_CONDIZIONE` VARCHAR(50),`COD_RESIDENZA_CORRELATA` VARCHAR(1) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_TIT_STUDIO`
    (`COD_TIT_STUDIO` INT(2) ,`NOME_TIT_STUDIO` VARCHAR(30) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_RESIDENZA`
    (`COD_RESIDENZA` VARCHAR(1) ,`NOME_RESIDENZA` VARCHAR(30) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_ST_CIVILE`
    (`COD_STATO_CIVILE` VARCHAR(1) ,`NOME_STATO_CIVILE` VARCHAR(30) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_STATI_ESTERI`
    (`COD_STATO_ESTERO` INT(5) ,`NOME_STATO_ESTERO` VARCHAR(50),
    `SIGLA_INTERNAZIONALE` VARCHAR(3),`FLAG_CEE` VARCHAR(1) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_ATTIVITA`
    (`COD_RA` INT(2) ,`NOME_RA` VARCHAR(50) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_PARENTELE`
    (`COD_PARENTELA` VARCHAR(2) ,`NOME_PARENTELA` VARCHAR(30) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_COMUNI_EST`
    (`COD_COMUNE_EST` INT(6) ,`NOME_COMUNE_EST` VARCHAR(50),`CAP_COMUNE_EST` INT(5),`COD_STATO_EST_APPARTENENZA` INT(5))engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_COMUNI_ITA`
    (`COD_COMUNE_ITA` INT(6) ,`NOME_COMUNE_ITA` VARCHAR(50),`SIGLA_AUTOMOBILISTICA` VARCHAR(2),`CAP_COMUNE_ITA` INT(5),
    `PROVINCIA` VARCHAR(15) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_PROFESSIONI`
    (`COD_PROFESSIONE` INT(2) ,`NOME_PROFESSIONE` VARCHAR(50) )engine=InnoDB;

    CREATE TABLE `TABELLA_DECOD_VIE_CITTADINE`
    (`COD_VIA` INT(5),`NOME_VIA` VARCHAR(50),`DA` INT(4),`A` INT(4) )engine=InnoDB;

    -----------------------------------FINE TABELLE----------------------------------------


    ---------------------------CHIAVI PRIMARIE E RELAZIONI------------------------------

    ALTER TABLE `NUCLEO_FAM_E_CONVIVENZE`
    ADD (CONSTRAINT `PK_NF_CC` PRIMARY KEY (`COD_NUCLEO_FAMILIARE`));

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `PK_CITTADINO` PRIMARY KEY `COD_PERSONA`));

    ALTER TABLE `DOMICILIO` ADD (CONSTRAINT `PK_DOMICILIO` PRIMARY KEY (`COD_VIA`,`NUM_CIVICO`));

    ALTER TABLE `DOCUMENTI_PERSONALI` ADD (CONSTRAINT `PK_DOCUMENTI` PRIMARY KEY (`NUM_DOCUMENTO`));

    ALTER TABLE `SPOSTAMENTI_E_I` ADD (CONSTRAINT `PK_SPOSTAMENTI` PRIMARY KEY (`N_PRATICA`));

    ALTER TABLE `TABELLA_DECOD_STATO_DOCUM` ADD (CONSTRAINT `PK_STATO_DOCUM`
    PRIMARY KEY (`COD_STATO_DOCUM`));

    ALTER TABLE `TABELLA_DECOD_CONDIZIONE` ADD (CONSTRAINT `PK_CONDIZIONE`
    PRIMARY KEY (`COD_CONDIZIONE`));

    ALTER TABLE `TABELLA_DECOD_TIT_STUDIO` ADD (CONSTRAINT `PK_TIT_STU`
    PRIMARY KEY (`COD_TIT_STUDIO`));

    ALTER TABLE `TABELLA_DECOD_RESIDENZA` ADD (CONSTRAINT `PK_RESIDENZA`
    PRIMARY KEY (`COD_RESIDENZA`));

    ALTER TABLE `TABELLA_DECOD_ST_CIVILE` ADD (CONSTRAINT `PK_SC`
    PRIMARY KEY (`COD_STATO_CIVILE`));

    ALTER TABLE `TABELLA_DECOD_STATI_ESTERI` ADD (CONSTRAINT `PK_ST_EST`
    PRIMARY KEY (`COD_STATO_ESTERO`));

    ALTER TABLE `TABELLA_DECOD_ATTIVITA` ADD (CONSTRAINT `PK_RA`
    PRIMARY KEY(`COD_RA`));

    ALTER TABLE `TABELLA_DECOD_PARENTELE` ADD (CONSTRAINT `PK_PARENTELE`
    PRIMARY KEY (COD_PARENTELA));

    ALTER TABLE `TABELLA_DECOD_COMUNI_EST`ADD (CONSTRAINT `PK_COM_EST`
    PRIMARY KEY (`COD_COMUNE_EST`));

    ALTER TABLE `TABELLA_DECOD_COMUNI_ITA` ADD (CONSTRAINT `PK_COM_ITA`
    PRIMARY KEY (`COD_COMUNE_ITA`));

    ALTER TABLE `TABELLA_DECOD_PROFESSIONI` ADD (CONSTRAINT `PK_PROFESSIONI`
    PRIMARY KEY (`COD_PROFESSIONE`));

    ALTER TABLE `TABELLA_DECOD_VIE_CITTADINE` ADD (CONSTRAINT `PK_VIA`
    PRIMARY KEY (`COD_VIA`));

    ALTER TABLE `TABELLA_DECOD_CONDIZIONE` ADD (CONSTRAINT `FK_CONDIZIONE`
    FOREIGN KEY (`COD_RESIDENZA_CORRELATA`) REFERENCES `TABELLA_DECOD_RESIDENZA`(`COD_RESIDENZA`));

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT8`
    FOREIGN KEY (`COD_RAMO_ATTIVITA`) REFERENCES `TABELLA_DECOD_ATTIVITA` (`COD_RA`)) ;

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT3`
    FOREIGN KEY (`COD_ISTAT_COM_ITA_PRIMA_ISCR`) REFERENCES `TABELLA_DECOD_COMUNI_ITA`(`COD_COMUNE_ITA`)) ;

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT2`
    FOREIGN KEY (`COD_COM_EST_NASCITA`) REFERENCES `TABELLA_DECOD_COMUNI_EST`(`COD_COMUNE_EST`));

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT5`
    FOREIGN KEY (`COD_CONDIZIONE`) REFERENCES `TABELLA_DECOD_CONDIZIONE` (`COD_CONDIZIONE`));

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT1`
    FOREIGN KEY (`COD_ISTAT_COM_ITA_NASCITA`) REFERENCES `TABELLA_DECOD_COMUNI_ITA`(`COD_COMUNE_ITA`));

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT7`
    FOREIGN KEY (`COD_PROFESSIONE`) REFERENCES `TABELLA_DECOD_PROFESSIONI` (`COD_PROFESSIONE`));

    ALTER TABLE `CITTADINO`ADD (CONSTRAINT `FK_CITT4`
    FOREIGN KEY (`COD_COM_EST_PRIMA_ISCR`) REFERENCES `TABELLA_DECOD_COMUNI_EST` (`COD_COMUNE_EST`));

    ALTER TABLE `CITTADINO` ADD (CONSTRAINT `FK_CITT6`
    FOREIGN KEY (`COD_TITOLO_STUDIO`) REFERENCES `TABELLA_DECOD_TIT_STUDIO` (`COD_TIT_STUDIO`));

    ALTER TABLE `RUOLO_IN_NF_O_CONVIV` ADD (CONSTRAINT `FK_RUOLO_NF_CC`
    FOREIGN KEY (`COD_NUCLEO_FAMILIARE`) REFERENCES `NUCLEO_FAM_E_CONVIVENZE` (`COD_NUCLEO_FAMILIARE`));

    ALTER TABLE `RUOLO_IN_NF_O_CONVIV` ADD (CONSTRAINT `FK_PARENTELE`
    FOREIGN KEY (`COD_PARENTELA_CON_IS_O_CC`) REFERENCES `TABELLA_DECOD_PARENTELE`(`COD_PARENTELA`));

    ALTER TABLE `RUOLO_IN_NF_O_CONVIV` ADD (CONSTRAINT `FK_CITTADINO_RUOLO`
    FOREIGN KEY (`COD_PERSONA`) REFERENCES `CITTADINO` (`COD_PERSONA`));

    ALTER TABLE `ABITA_IN` ADD(CONSTRAINT `FK_ABITA_IN_DOMICILIO`
    FOREIGN KEY (`COD_VIA`,`NUM_CIVICO`) REFERENCES `DOMICILIO`(`COD_VIA`,`NUM_CIVICO`));

    ALTER TABLE `ABITA_IN`ADD (CONSTRAINT `FK_CITTADINO_ABITA_IN`
    FOREIGN KEY (`COD_PERSONA`) REFERENCES `CITTADINO` (`COD_PERSONA`));

    ALTER TABLE `HA_STATO_CIVILE` ADD (CONSTRAINT `FK_SC_DI_CITTADINO`
    FOREIGN KEY (`COD_STATO_CIVILE`) REFERENCES `TABELLA_DECOD_ST_CIVILE` (`COD_STATO_CIVILE`));

    ALTER TABLE `HA_STATO_CIVILE` ADD (CONSTRAINT `FK_CITTADINO_HA_SC`
    FOREIGN KEY (`COD_PERSONA`) REFERENCES `CITTADINO` (`COD_PERSONA`));

    ALTER TABLE `DOCUMENTI_PERSONALI` ADD (CONSTRAINT `FK_STATO_VALIDITa'`
    FOREIGN KEY (`COD_STATO_VALID_SCAD_ITER`) REFERENCES `TABELLA_DECOD_STATO_DOCUM` (`COD_STATO_DOCUM`));

    ALTER TABLE `DOCUMENTI_PERSONALI` ADD (CONSTRAINT `FK_COM_ITA_RILASCIO`
    FOREIGN KEY (`COD_ISTAT_COMUNE_ITA_RILASCIO`) REFERENCES `TABELLA_DECOD_COMUNI_ITA`(`COD_COMUNE_ITA`));

    ALTER TABLE `DOCUMENTI_PERSONALI` ADD (CONSTRAINT `FK_CITTADINO_DOC_PERS`
    FOREIGN KEY (`COD_PERSONA`) REFERENCES `CITTADINO`(`COD_PERSONA`));

    ALTER TABLE `DOCUMENTI_PERSONALI` ADD (CONSTRAINT `FK_COM_EST_RILASCIO`
    FOREIGN KEY (`COD_COMUNE_EST_RILASCIO`) REFERENCES TABELLA_DECOD_COMUNI_EST`(`COD_COMUNE_EST`));

    ALTER TABLE `SPOSTAMENTI_E_I` ADD (CONSTRAINT `FK_COM_ITA_PART`
    FOREIGN KEY (`COD_ISTAT_COM_ITA_PART`) REFERENCES `TABELLA_DECOD_COMUNI_ITA`(`COD_COMUNE_ITA`));

    ALTER TABLE `SPOSTAMENTI_E_I` ADD (CONSTRAINT `FK_CITTADINO`
    FOREIGN KEY (`COD_PERSONA`) REFERENCES `CITTADINO`(`COD_PERSONA`));

    ALTER TABLE `SPOSTAMENTI_E_I` ADD (CONSTRAINT `FK_COM_EST_PART`
    FOREIGN KEY (`COD_COM_EST_PART`) REFERENCES `TABELLA_DECOD_COMUNI_EST` (`COD_COMUNE_EST`));

    ALTER TABLE `SPOSTAMENTI_E_I` ADD (CONSTRAINT `FK_COM_EST_DEST`
    FOREIGN KEY (`COD_COM_EST_DEST`) REFERENCES `TABELLA_DECOD_COMUNI_EST`(`COD_COMUNE_EST`));

    ALTER TABLE `SPOSTAMENTI_E_I` ADD (CONSTRAINT `FK_COM_ITA_DEST`
    FOREIGN KEY (`COD_ISTAT_COM_ITA_DEST`) REFERENCES `TABELLA_DECOD_COMUNI_ITA` (`COD_COMUNE_ITA`));

    ALTER TABLE `TABELLA_DECOD_COMUNI_EST` ADD (CONSTRAINT `FK_STATI_ESTERI`
    FOREIGN KEY (`COD_STATO_EST_APPARTENENZA`) REFERENCES `TABELLA_DECOD_STATI_ESTERI` (`COD_STATO_ESTERO`));

    ALTER TABLE `DOMICILIO`ADD (CONSTRAINT `FK_VIE`
    FOREIGN KEY (`COD_VIA`) REFERENCES `TABELLA_DECOD_VIE_CITTADINE` (`COD_VIA`)
    );

    ------------------------------------FINE CHIAVI PRIMARIE E RELAZIONI-------------

    ++++++++++++++++++++++++++++FINE DELLA BASE DATI+++++++++++++++++++

  4. #4
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    PARTE 2

    +++++++++++++++++++++++++++++CODICE+++++++++++++++ +++++++++++++


    ----------------------------------------------------
    FILE 'LEGGI.ASPX'
    (il file di design, quello che contiene il pulsante 'query' che genera l'errore)


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="LeggiQuery.aspx.cs" Inherits="LeggiQuery" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>Untitled Page</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div style="text-align: left">
    <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="CambiaTextBox1"></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server" OnTextChanged="CambiaTextBox2"></asp:TextBox>
    <asp:TextBox ID="TextBox3" runat="server" OnTextChanged="CambiaTextBox3" Width="147px"></asp:TextBox>
    <asp:TextBox ID="TextBox4" runat="server" OnTextChanged="CambiaTextBox4"></asp:TextBox>
    <asp:TextBox ID="TextBox5" runat="server" OnTextChanged="CambiaTextBox5"></asp:TextBox>



    <asp:Button ID="Button1" runat="server" Text="Query" OnClick="QueryClick" />
    <asp:Button ID="Button3" runat="server" Text="Cancella" OnClick="CancellaClick" />
    <asp:Button ID="Button2" runat="server" Text="Salva" OnClick="SalvaClick" />

    <asp:Button ID="PreviousRecord" runat="server" OnClick="PreviousRecordClick" Text="Record precedente" Width="128px" />
    <asp:Button ID="NuovoRecord" runat="server"
    Text="Nuovo record" Width="93px" OnClick="NuovoRecordClick" />
    <asp:Button ID="NextRecord" runat="server" OnClick="NextRecordClick" Text="Record successivo" Width="128px" />


    <asp:TextBox ID="TextBox6" runat="server" Width="782px" ReadOnly="True"></asp:TextBox></div>
    </form>
    </body>
    </html>

    ------------------------------------------

  5. #5
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    PARTE 3

    FILE 'LEGGI.ASPX.CS'
    (il codice che implementa la connessione al database)

    using System;
    using System.IO;
    using System.Text;

    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.Odbc;

    public partial class LeggiQuery : System.Web.UI.Page
    {
    struct RigaTabella
    {
    public int stato;
    public Int32 rowid;
    public string campo1;
    public string campo2;
    public string campo3;
    public string campo4;
    public string campo5;
    };

    static OdbcConnection cn = null;
    static DataTable table = null;
    static DataRow row = null;
    static Int64 TotaleRighe = 1;
    static Int32 IndexRighe = 0;
    static Int32 NumeroRighe = 1;
    static int statoMaschera = 0;
    static int statoRecord = 0;
    static RigaTabella[] recTe = new RigaTabella[1000000];

    protected void Page_Load(object sender, EventArgs e)
    {
    //TextBox6.Text = TextBox6.Text + "Page Load";
    Connessione();
    }

    protected void Connessione()
    {
    if (cn == null)
    cn = new OdbcConnection("Dsn=anagrafe;database=anagrafe;opt ion=0;port=0;server=localhost;uid=root");
    }

    protected void PulisciMaschera()
    {
    TextBox1.Text = "";
    TextBox2.Text = "";
    TextBox3.Text = "";
    TextBox4.Text = "";
    TextBox5.Text = "";
    TextBox6.Text = "";
    TotaleRighe = 1;
    IndexRighe = 0;
    NumeroRighe = 1;
    statoMaschera = 0;
    statoRecord = 0;
    recTe = new RigaTabella[1000000];
    }

    protected void PulisciCampiMaschera()
    {
    TextBox1.Text = "";
    TextBox2.Text = "";
    TextBox3.Text = "";
    TextBox4.Text = "";
    TextBox5.Text = "";
    TextBox6.Text = "";
    statoRecord = 0;
    ++TotaleRighe;
    IndexRighe = (Int32) TotaleRighe - 1;
    NumeroRighe = IndexRighe;
    }

    protected void EseguiQuery()
    {
    OdbcCommand cmd;
    OdbcDataAdapter adapter;
    DataSet dataset;
    string QueryString;
    string QueryCount;

    QueryCount = "SELECT count(*) FROM anagrafe.nucleo_fam_e_convivenze";
    QueryString = "SELECT `rowid`,`1`,`2`,`3`,`4`,`5` FROM anagrafe.nucleo_fam_e_convivenze";

    dataset = new DataSet();
    adapter = new OdbcDataAdapter(QueryCount, cn);
    cmd = new OdbcCommand(QueryCount, cn);
    statoMaschera = 0;

    try
    {
    cn.Open();
    }
    catch
    {
    cn.Close();
    cn.Open();
    }

    adapter.Fill(dataset); //l'errore me lo genera qui
    table = dataset.Tables[0];
    row = table.Rows[0];
    TotaleRighe = (Int64)row[0];

    cn.Close();
    dataset.Dispose();
    adapter.Dispose();
    cmd.Dispose();

    if (TotaleRighe > 0)
    {
    statoMaschera = 2;
    IndexRighe = 0;
    NumeroRighe = 1;

    TextBox6.Text = "Record ritrovati: " + TotaleRighe.ToString();

    dataset = new DataSet();
    adapter = new OdbcDataAdapter(QueryString, cn);
    cmd = new OdbcCommand(QueryString, cn);

    try
    {
    cn.Open();
    }
    catch
    {
    cn.Close();
    cn.Open();
    }

    adapter.Fill(dataset);
    table = dataset.Tables[0];
    row = table.Rows[0];

    recTe[0].stato = 4;
    recTe[0].rowid = (Int32) row[0];
    recTe[0].campo1 = row[1].ToString();
    recTe[0].campo2 = row[2].ToString();
    recTe[0].campo3 = row[3].ToString();
    recTe[0].campo4 = row[4].ToString();
    recTe[0].campo5 = row[5].ToString();

    statoRecord = 4;
    TextBox1.Text = recTe[0].campo1;
    TextBox2.Text = recTe[0].campo2;
    TextBox3.Text = recTe[0].campo3;
    TextBox4.Text = recTe[0].campo4;
    TextBox5.Text = recTe[0].campo5;
    }
    else
    {
    TextBox6.Text = "Nessun record ritrovato";
    }
    }

    protected void RecordPrecedente()
    {
    if (statoRecord > 0)
    {
    if (statoRecord == 1 || statoRecord == 2)
    {
    recTe[IndexRighe].stato = statoRecord;
    recTe[IndexRighe].campo1 = TextBox1.Text;
    recTe[IndexRighe].campo2 = TextBox2.Text;
    recTe[IndexRighe].campo3 = TextBox3.Text;
    recTe[IndexRighe].campo4 = TextBox4.Text;
    recTe[IndexRighe].campo5 = TextBox5.Text;
    }
    --IndexRighe;
    while (IndexRighe >= 0)
    {
    if (recTe[IndexRighe].stato == 3)
    {
    --IndexRighe;
    continue;
    }
    --NumeroRighe;
    TextBox1.Text = recTe[IndexRighe].campo1;
    TextBox2.Text = recTe[IndexRighe].campo2;
    TextBox3.Text = recTe[IndexRighe].campo3;
    TextBox4.Text = recTe[IndexRighe].campo4;
    TextBox5.Text = recTe[IndexRighe].campo5;
    statoRecord = recTe[IndexRighe].stato;
    TextBox6.Text = "Record N° " + NumeroRighe.ToString();
    break;
    }
    if (IndexRighe < 0)
    {
    ++IndexRighe;
    TextBox6.Text = "Primo record";
    }
    }
    else
    {
    if (TotaleRighe > 0)
    {
    --TotaleRighe;
    --NumeroRighe;
    --IndexRighe;
    TextBox1.Text = recTe[IndexRighe].campo1;
    TextBox2.Text = recTe[IndexRighe].campo2;
    TextBox3.Text = recTe[IndexRighe].campo3;
    TextBox4.Text = recTe[IndexRighe].campo4;
    TextBox5.Text = recTe[IndexRighe].campo5;
    statoRecord = recTe[IndexRighe].stato;
    TextBox6.Text = "Record N° " + NumeroRighe.ToString();
    }
    }
    }

    protected void RecordSuccessivo()
    {
    if (statoRecord > 0)
    {
    if (statoRecord == 1 || statoRecord == 2)
    {
    recTe[IndexRighe].stato = statoRecord;
    //recTe[IndexRighe].rowid = (Int32)row[0];
    recTe[IndexRighe].campo1 = TextBox1.Text;
    recTe[IndexRighe].campo2 = TextBox2.Text;
    recTe[IndexRighe].campo3 = TextBox3.Text;
    recTe[IndexRighe].campo4 = TextBox4.Text;
    recTe[IndexRighe].campo5 = TextBox5.Text;
    }
    ++IndexRighe;
    if (IndexRighe > (TotaleRighe - 1))
    {
    PulisciCampiMaschera();
    //++TotaleRighe;
    //++NumeroRighe;
    }
    else
    {
    while (IndexRighe <= (TotaleRighe - 1))
    {
    if (recTe[IndexRighe].stato == 3)
    {
    ++IndexRighe;
    continue;
    }
    ++NumeroRighe;
    if (recTe[IndexRighe].stato == 0)
    {
    row = table.Rows[IndexRighe];
    recTe[IndexRighe].stato = 4;
    recTe[IndexRighe].rowid = (Int32) row[0];
    recTe[IndexRighe].campo1 = row[1].ToString();
    recTe[IndexRighe].campo2 = row[2].ToString();
    recTe[IndexRighe].campo3 = row[3].ToString();
    recTe[IndexRighe].campo4 = row[4].ToString();
    recTe[IndexRighe].campo5 = row[5].ToString();
    }
    TextBox1.Text = recTe[IndexRighe].campo1;
    TextBox2.Text = recTe[IndexRighe].campo2;
    TextBox3.Text = recTe[IndexRighe].campo3;
    TextBox4.Text = recTe[IndexRighe].campo4;
    TextBox5.Text = recTe[IndexRighe].campo5;
    statoRecord = recTe[IndexRighe].stato;
    TextBox6.Text = "Record N° " + NumeroRighe.ToString();
    break;
    }
    }
    }
    else
    TextBox6.Text = "Prima devi valorizzare il campo";
    }

    protected void QueryClick(object sender, EventArgs e)
    {
    EseguiQuery();
    }

    protected void SalvaClick(object sender, EventArgs e)
    {
    OdbcCommand cmd;
    string insertSQL;
    string deleteSQL;
    string updateSQL;

    try
    {
    cn.Open();
    }
    catch
    {
    cn.Close();
    cn.Open();
    }

    if (statoMaschera == 1)
    {
    RecordSuccessivo();
    RecordPrecedente();
    IndexRighe = 0;
    while (IndexRighe < TotaleRighe)
    {
    if (recTe[IndexRighe].stato == 1)
    {
    insertSQL = "INSERT into anagrafe.nucleo_fam_e_convivenze (`1`,`2`,`3`,`4`,`5`) values ('" + recTe[IndexRighe].campo1 + "','" +
    recTe[IndexRighe].campo2 + "','" +
    recTe[IndexRighe].campo3 + "','" +
    recTe[IndexRighe].campo4 + "','" +
    recTe[IndexRighe].campo5 + "')";

    cmd = new OdbcCommand(insertSQL, cn);
    cmd.ExecuteNonQuery();
    cmd.Dispose();
    }
    if (recTe[IndexRighe].stato == 2)
    {
    updateSQL = "UPDATE anagrafe.nucleo_fam_e_convivenze set `1` = '" + recTe[IndexRighe].campo1 + "'," +
    "`2` = '" + recTe[IndexRighe].campo2 + "'," +
    "`3` = '" + recTe[IndexRighe].campo3 + "'," +
    "`4` = '" + recTe[IndexRighe].campo4 + "'," +
    "`5` = '" + recTe[IndexRighe].campo5 + "' " +
    "where `rowid` = " + recTe[IndexRighe].rowid;
    cmd = new OdbcCommand(updateSQL, cn);
    cmd.ExecuteNonQuery();
    cmd.Dispose();
    }
    if (recTe[IndexRighe].stato == 3)
    {
    deleteSQL = "DELETE from anagrafe.nucleo_fam_e_convivenze where `rowid` = " + recTe[IndexRighe].rowid;
    cmd = new OdbcCommand(deleteSQL, cn);
    cmd.ExecuteNonQuery();
    cmd.Dispose();
    }

    ++IndexRighe;
    }
    EseguiQuery();
    }
    }

    protected void CancellaClick(object sender, EventArgs e)
    {
    if (statoRecord == 2 || statoRecord == 4)
    {
    statoMaschera = 1;
    statoRecord = 3;
    recTe[IndexRighe].stato = statoRecord;
    RecordSuccessivo();
    }
    }

    protected void NextRecordClick(object sender, EventArgs e)
    {
    RecordSuccessivo();
    }

    protected void PreviousRecordClick(object sender, EventArgs e)
    {
    RecordPrecedente();
    }

    protected void NuovoRecordClick(object sender, EventArgs e)
    {
    PulisciCampiMaschera();
    }

  6. #6
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    PARTE 4

    protected void CambiaTextBox1(object sender, EventArgs e)
    {
    //recTe[IndexRighe].campo1 = TextBox1.Text;
    statoMaschera = 1;
    switch (statoRecord)
    {
    case 0:
    statoRecord = 1;
    break;
    case 4:
    statoRecord = 2;
    break;
    }
    //TextBox6.Text = TextBox6.Text + TextBox1.Text + statoRecord.ToString();
    }

    protected void CambiaTextBox2(object sender, EventArgs e)
    {
    //recTe[IndexRighe].campo2 = TextBox2.Text;
    statoMaschera = 1;
    switch (statoRecord)
    {
    case 0:
    statoRecord = 1;
    break;
    case 4:
    statoRecord = 2;
    break;
    }
    //TextBox6.Text = TextBox6.Text + TextBox2.Text + statoRecord.ToString();
    }

    protected void CambiaTextBox3(object sender, EventArgs e)
    {
    //recTe[IndexRighe].campo3 = TextBox3.Text;
    statoMaschera = 1;
    switch (statoRecord)
    {
    case 0:
    statoRecord = 1;
    break;
    case 4:
    statoRecord = 2;
    break;
    }
    //TextBox6.Text = TextBox6.Text + TextBox3.Text + statoRecord.ToString();
    }

    protected void CambiaTextBox4(object sender, EventArgs e)
    {
    //recTe[IndexRighe].campo4 = TextBox4.Text;
    statoMaschera = 1;
    switch (statoRecord)
    {
    case 0:
    statoRecord = 1;
    break;
    case 4:
    statoRecord = 2;
    break;
    }
    //TextBox6.Text = TextBox6.Text + TextBox4.Text + statoRecord.ToString();
    }

    protected void CambiaTextBox5(object sender, EventArgs e)
    {
    //recTe[IndexRighe].campo5 = TextBox5.Text;
    statoMaschera = 1;
    switch (statoRecord)
    {
    case 0:
    statoRecord = 1;
    break;
    case 4:
    statoRecord = 2;
    break;
    }
    //TextBox6.Text = TextBox6.Text + TextBox5.Text + statoRecord.ToString();
    }
    }

    ------------------------------------------------------


    GRAZIE ancora e se non dovessimo più sentirci TANTISSIMI AUGURI PER UNA FELICISSIMA PASQUA a te ed ai tuoi cari!!

    _J_

  7. #7
    Oddio mio, potevi fare un sunto ^^'

    cmq credo che:

    dataset = new DataSet();
    adapter = new OdbcDataAdapter(QueryCount, cn);
    cmd = new OdbcCommand(QueryCount, cn);
    prova:

    adapter = new OdbcDataAdapter(QueryCount,cn);
    adapter.Fill(dataset,"anagrafe.nucleo_fam_e_conviv enze");

    anche se mi sembra strano che ti prenda "rowid" che non glie lo passi da nessuna parte..
    usa il debugger per vedere cosa c'e' dentro il dataset!

    io userei per fare quello:

    OdbcDataAdapter da = new OdbcDataAdapter(QueryCount, cn);
    da.SelectCommand.Connection.Open();
    OdbcDataReader daRead = da.SelectCommand.ExecuteReader();
    if (daRead.Read())
    {
    int totale = daRead.GetInt32(0);
    }

    che mi sembra vagamente piu intuitivo..

    cmq quello che stai facendo era semplicissimo farlo con con una gridview!
    Fiore Bat - www.bcscommunity.it

  8. #8
    Stai usando "rowid" come nome di campo quando è una istruzione del MySQL. Togli gli apici quando fai le query.



    Ps. per cortesia non usare titoli del tipo "aiuto"..

  9. #9
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    Ciao!


    Innanzitutto grazie ad entrambi per le vostre risposte, e scusatemi per la lunghezza dei miei precedenti post... ( VVoVe: )

    E' inutile dire che seguitrò i vostri consigli e poi vi farò sapere che succede, ok?

    Per adesso vi auguro una felicissima Pasqua!
    A presto!

    N.B. per ZofM: grazie per la dritta sui titoli delle discussioni!!

    _J_

  10. #10
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    Ciao!
    Scusate il ritardo con cui rispondo, ma ho avuto problemi col pc per cui non ho potuto provare subito le soluzioni proposte, e quindi posso rispondere solo ora...
    Comunque volevo dirvi che ho provato le vostre soluzioni ma l'errore continua a darmelo lo stesso... avreste qualche altra soluzione da propormi??
    Comunque Grazie ad entrambi!

    _J_

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.