Frage : Problem mit C# OracleDataReader, das OracleLob in einer Aufzeichnung zurückholt

Ich habe eine Ausgabe, die sehr frustrierend gewesen.  Ich verwende C#, um eine Aufzeichnung aus einer Oracle-Datenbank heraus vorzuwählen.  die auserwählte Aussagenrückkehr eine Aufzeichnung, die auf Aufzeichnungsidentifikation basiert, und das OracleClob Feld ist in der ersten Position der Resultate.  Wenn die Aussage das erste mal durchführt, zurückhole ich den korrekten OracleLob Wert rekten.  Folgende Durchführungen der auserwählten Aussage zurückbringen die folgende Aufzeichnung für alle Felder anders als das OracleLob alle.  Dieses Feld ändert nie.  Jedes Mal wenn das das Console.WriteLine (clob. Value); durchführt, es druckt das erste Aufzeichnungen clob jedes Mal smal.  Könnte jemand unterstreichen, was ich falsch tue?
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:


        statisches privates leeres GetProposalFile (Rekordrec)
        {
            connectionString Schnur = GetConnectionString ();
            Anwendung (OracleConnection Anschluss = neues OracleConnection ())
            {
                connection.ConnectionString = connectionString;
                
                Console.WriteLine („Zustand: {0}“, Anschluss. Zustand);
                Console.WriteLine („ConnectionString: {0}“,
                                  connection.ConnectionString);
                Anschluss. Öffnen ();
                OracleCommand Befehl = neues OracleCommand ();

                Schnur sql = „auserwähltes f.txt _file, t.* von Verhandlungen t, trans_files f“ +
                        „, wo t.record_id =: pOID“ +
                        „und sequence_no = (auserwähltes maximales (tt.sequence_no) von den Verhandlungen tt“ +
                        „, wo tt.record_id =: pOID2 und tt.TRANS_STAT_CD = „FESTGESETZT“ und tt.TRANS_TYPE_CD = „P ")“;

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

                Befehl. Anschluss = Anschluss;
                OracleDataReader Leser = command.ExecuteReader ();
                
                
                Leser. Gelesen ();
                wenn (Leser! = Null)
                {
                    OracleLob clob = reader.GetOracleLob (0);
                    lang filesize = clob. Länge;

                StreamWriter Akte = neues StreamWriter („C:\ \ Dokumenten- und Einstellungs\ \ Benutzer \ \ Schreibtisch\ \ Temp \ \ RecordExtract \ \“ 
                        + rec.RecordID + „-“ + rec.PropOrdInd + rec.PropTypCd + „-“ + rec.LineItemCnt + „.txt“, falsch);
                    file.WriteLine (clob. Wert);
                    Akte. Abschluss ();
                    Console.WriteLine (clob. Wert);
                    clob. Erröten ();
                    clob. Position = 0;
                }
                Befehl. Abschaffen ();
                
                Leser. Abschluss ();
                Leser. Abschaffen ();
                Anschluss. Abschluss ();
            }
        } 

Antwort : Problem mit C# OracleDataReader, das OracleLob in einer Aufzeichnung zurückholt

Hallo,

Da die Seitenrichtlinie nicht im Code eingeschlossen, haben Sie bekannt gegeben mich kippen sehen, ob Sie dieses versucht, aber es ein Eigentum gibt, das „MaintainScrollPositionOnPostback“ dieses Sie genannt, kann einstellen, um in der Seitenrichtlinie auszurichten, die die Seite zum maitain die Rolleposition auf postback zwingt.

/Carl.
Weitere Lösungen  
 
programming4us programming4us