Vraag : Probleem met C# OracleDataReader die OracleLob in een verslag terugwinnen

Ik heb een kwestie die zeer frustrerend is geweest.  Ik gebruik C# om een verslag uit een Gegevensbestand van Oracle te selecteren.  de uitgezochte verklaring keert één die verslag terug op verslagidentiteitskaart wordt gebaseerd, en het gebied OracleClob is in de eerste positie van de resultaten.  Wanneer de verklaring de eerste keer uitvoert, win ik de correcte waarde OracleLob terug.  De verdere uitvoeringen van de uitgezochte verklaring keren het volgende verslag voor alle gebieden buiten OracleLob terug.  Dat gebied verandert nooit.  Telkens als dat Console.WriteLine (clob. Value); voert uit, drukt het de eerste elke keer registreert clob.  Kon iemand op wat ik verkeerd wijzen doe?
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:


        statische privé nietige GetProposalFile (Verslag rec)
        {
            koord die = GetConnectionString connectionString ();
            het gebruiken (verbinding OracleConnection = nieuwe OracleConnection ())
            {
                connection.ConnectionString = connectionString;
                
                Console.WriteLine („Staat: {0}“, verbinding. Staat);
                Console.WriteLine („ConnectionString: {0}“,
                                  connection.ConnectionString);
                verbinding. Open ();
                Het bevel van OracleCommand = nieuwe OracleCommand ();

                koord sql = „uitgezocht f.txt _file, t.* van transacties t, trans_files F“ +
                        „waar t.record_id =: pOID“ +
                        „en sequence_no = (uitgezochte Maximum (tt.sequence_no) van transacties tt“ +
                        „waar tt.record_id =: pOID2 en tt.TRANS_STAT_CD = „STELDE van“ en tt.TRANS_TYPE_CD = „P“)“ de prijs vast;

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

                bevel. Verbinding = verbinding;
                De lezer van OracleDataReader = command.ExecuteReader ();
                
                
                lezer. Lees ();
                als (lezer! = verklaar) nietig
                {
                    OracleLob clob = reader.GetOracleLob (0);
                    filesize lang = clob. Lengte;

                Het dossier van StreamWriter = nieuwe StreamWriter („C:\ de Temperaturen \ \ \ RecordExtract \ \ van de de gebruikers\ \ Desktop van \- Documenten en van Montages \ \ \“ 
                        + rec.RecordID + „-“ + rec.PropOrdInd + rec.PropTypCd + „-“ + rec.LineItemCnt + „.txt“, vals);
                    file.WriteLine (clob. Waarde);
                    dossier. Sluit ();
                    Console.WriteLine (clob. Waarde);
                    clob. Vloed ();
                    clob. Positie = 0;
                }
                bevel. Schik ();
                
                lezer. Sluit ();
                lezer. Schik ();
                verbinding. Sluit ();
            }
        } 

Antwoord : Probleem met C# OracleDataReader die OracleLob in een verslag terugwinnen

Hallo,

Aangezien de paginarichtlijn niet inbegrepen in de code is hebt u ik afschuint gepost ziet of u dit hebt geprobeerd maar er is een bezit genoemd „MaintainScrollPositionOnPostback“ die u aan waar in de paginarichtlijn kunt plaatsen die de pagina aan maitain de rolpositie inzake postback zal dwingen.

/Carl.
Andere oplossingen  
 
programming4us programming4us