Fråga : Problem med C# OracleDataReader som hämtar OracleLob i ett rekord

Förmiddag som I har en utfärda som har mycket frustrerat.  Förmiddag I using C# som väljer ett rekord ut ur en Oracle databas.  de valda meddelandereturna ett rekord som baseras på rekordID och OracleCloben, sätter in är i första placerar av resultaten.  När meddelandet utför den första tiden, jag hämtar den korrekta OracleLoben värderar.  Följande utföranden av det valda meddelandet går det nästa rekordet för alla tillbaka sätter in annat än OracleLoben.  Det sätter in ändrar aldrig.  Varje den tid Console.WriteLinen (clob. Value); utför det skrivar ut den första rekordcloben varje tid.  Kunde någon peka ut vad I-förmiddagen som orätt gör? för class=" codeSnippet " för
1 för >



        statisk elektricitet privata utan laga kraft GetProposalFile (rekord- rec)
        {
            stränga connectionString = GetConnectionString ();
            använda (OracleConnection anslutning = nya OracleConnection ())
            {
                connection.ConnectionString = connectionString;
                
                Console.WriteLine (”påstå: {0}”, anslutning. Påstå);
                Console.WriteLine (”ConnectionString: {0}”,
                                  connection.ConnectionString);
                anslutning. Öppna ();
                OracleCommand befaller = nya OracleCommand ();

                stränga sql = ”_file valda f.txt, t.* från transaktioner t, trans_files f” +
                        ”var t.record_id =: pOID” +
                        ”och sequence_no = (valt max (tt.sequence_no) från transaktioner tt” +
                        ”var tt.record_id =: pOID2 och tt.TRANS_STAT_CD = ”PRISSATT” och tt.TRANS_TYPE_CD = ”P”)”;

                command.CommandText = sql;
                befalla. Parameters.Clear ();
                befalla. Parameters.Add (nya OracleParameter (”: pOID”, OracleType.VarChar));
                befalla. Parametrar [”: pOID”]. Värdera = rec.RecordID;
                befalla. Parameters.Add (nya OracleParameter (”: pOID2”, OracleType.VarChar));
                befalla. Parametrar [”: pOID2”]. Värdera = rec.RecordID;
                
                Console.WriteLine (”SQLCommand: ” + command.CommandText);

                befalla. Anslutning = anslutning;
                OracleDataReader avläsare = command.ExecuteReader ();
                
                
                avläsare. Läst ();
                om (avläsare! = ogiltigt)
                {
                    OracleLob clob = reader.GetOracleLob (0);
                    filesize long = clob. Längd;

                StreamWriter sparar = nya StreamWriter (”C:\ \ dokument och inställningar \ \ användare\ \ som är skrivbords- \ \ vikarier \ \ RecordExtract \ \”, 
                        + rec.RecordID + ”-” + rec.PropOrdInd + rec.PropTypCd + ”-” + rec.LineItemCnt + ”.txt” som, är falska);
                    file.WriteLine (clob. Värdera);
                    spara. Nära ();
                    Console.WriteLine (clob. Värdera);
                    clob. Spolning ();
                    clob. Placera = 0;
                }
                befalla. Kassera ();
                
                avläsare. Nära ();
                avläsare. Kassera ();
                anslutning. Nära ();
            }
        } <-/pre>

" klar "

Svar : Problem med C# OracleDataReader som hämtar OracleLob i ett rekord

Hi,

Sedan sidadirektiv inte är inklusive i kodifiera som du har postat mig cant ser huruvida dig ha försökt denna men, det finns en egenskap som kallas ”MaintainScrollPositionOnPostback” den dig, kan uppsättningen true i sidadirektiv som ska styrka sidan till maitain, snirkeln placerar på postback.

/Carl.
Andra lösningar  
 
programming4us programming4us