Questione : Problema con C# OracleDataReader che richiama OracleLob in un'annotazione

Sto avendo un'edizione che è stata molto frustrating.  Sto usando C# per selezionare un'annotazione da una base di dati di Oracle.  i ritorni prescelti di dichiarazione un'annotazione basata sull'identificazione dell'annotazione ed il campo di OracleClob è nella prima posizione dei risultati.  Quando la dichiarazione esegue la prima volta, richiamo il valore corretto di OracleLob.  Le esecuzioni successive della dichiarazione prescelta restituiscono l'annotazione seguente per tutti i campi tranne il OracleLob.  Quel campo non cambia mai.  Ogni volta che quello il Console.WriteLine (clob. Value); esegue, esso stampa il primo clob delle annotazioni sempre.  Potrebbe qualcuno precisare che cosa sto facendo male? class= " lineNumbers " >
1 del >


        GetProposalFile vuoto riservato statico (rec record)
        {
            stringa che connectionString = GetConnectionString ();
            usando (collegamento di OracleConnection = nuovo OracleConnection ())
            {
                connection.ConnectionString = connectionString;
                
                Console.WriteLine (“condizione: {0}„, collegamento. Condizione);
                Console.WriteLine (“ConnectionString: {0}„,
                                  connection.ConnectionString);
                collegamento. Aprir ();
                Ordine di OracleCommand = nuovo OracleCommand ();

                stringa sql = “f.txt prescelto _file, t.* dalle transazioni t, trans_files f„ +
                        “dove t.record_id =: pOID„ +
                        “e sequence_no = (massimo prescelto (tt.sequence_no) dalle transazioni tt„ +
                        “dove tt.record_id =: pOID2 e tt.TRANS_STAT_CD = “VALUTATO„ e tt.TRANS_TYPE_CD = “P ")„;

                command.CommandText = sql;
                ordine. Parameters.Clear ();
                ordine. Parameters.Add (nuovo OracleParameter (“: pOID„, OracleType.VarChar));
                ordine. Parametri [“: pOID„]. Valore = rec.RecordID;
                ordine. Parameters.Add (nuovo OracleParameter (“: pOID2„, OracleType.VarChar));
                ordine. Parametri [“: pOID2„]. Valore = rec.RecordID;
                
                Console.WriteLine (“SQLCommand: „ + command.CommandText);

                ordine. Collegamento = collegamento;
                Lettore di OracleDataReader = command.ExecuteReader ();
                
                
                lettore. Colto ();
                se (lettore! = posizione di segnale minimo)
                {
                    Clob di OracleLob = reader.GetOracleLob (0);
                    lungamente filesize = clob. Lunghezza;

                Lima di StreamWriter = nuovo StreamWriter (“C:\ \ \ \ utente delle regolazioni e dei documenti \ \ \ \ Temp del tavolo \ \ \ \„ di RecordExtract 
                        + rec.RecordID + “-„ + rec.PropOrdInd + rec.PropTypCd + “-„ + rec.LineItemCnt + “.txt„, falsi);
                    file.WriteLine (clob. Valore);
                    lima. Fine ();
                    Console.WriteLine (clob. Valore);
                    clob. Rossoreare ();
                    clob. Posizione = 0;
                }
                ordine. Disporre ();
                
                lettore. Fine ();
                lettore. Disporre ();
                collegamento. Fine ();
            }
        } class= >
di
class= del

Risposta : Problema con C# OracleDataReader che richiama OracleLob in un'annotazione

Ciao,

Poiché l'indirizzamento della pagina non è incluso nel codice lo avete inviato smussate vedete se avete provato questo ma ci è una proprietà chiamata “MaintainScrollPositionOnPostback„ quel voi può regolarsi per allineare nell'indirizzamento della pagina che forzerà la pagina a maitain la posizione del rotolo su postback.

/Carl.
Altre soluzioni  
 
programming4us programming4us