von Mihilist » Fr, 24.11.2006 10:58
Strat49 hat geschrieben:du hast eine Angabe zum ResultSetType vergessen, daher funktioniert das Bewegen innerhalb des ResultSets nicht.
Nach der Zeile
musst du noch den ResultSetType festlegen:
Code: Alles auswählen
oStatement.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
Danach geht es dann mit der SQL-Abfrage weiter.
Ich hab das mal probiert und nun ein sehr seltsames Problem... Erstmal mein Code:
Code: Alles auswählen
IF pfdia.GetControl("cmbFeld").Text = "" THEN
sFilter = ""
ELSE
sFilter = "WHERE " + pfdia.GetControl("cmbFeld").Text + " " + pfdia.GetControl("cmbVerkn").Text + " " + pfdia.GetControl("cmbWert").Text
END IF
oStatement = ThisComponent.Drawpage.Forms.getByName("frmMain").ActiveConnection.CreateStatement
oStatement.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
IF pfdia.Model.Step = 1 THEN
'Personendaten holen...
oRS = oStatement.ExecuteQuery("SELECT PID, Anrede, Titel, Name, Vorname FROM test_Person " + sFilter + " ORDER BY Name")
ELSE
'Firmendaten holen...
oRS = oStatement.ExecuteQuery("SELECT FID, Firmenname, Ort, Land, Branche FROM test_Firma " + sFilter + " ORDER BY Firmenname")
END IF
oListbox = pfdia.GetControl("ListBox1")
oListbox.removeItems(0, oListbox.getItemcount)
oRS.Last
msgbox oRS.getRow
Soweit, so gut. Beim ersten Ausführen sprach die MsgBox von 0, beim zweiten Mal von 29 und seit dem dritten mal von ca. 19x.xxx.xxx Zeilen... die x-Stellen variieren jedesmal. Die tatsächliche Zeilen-Anzahl ist 10911... sieht jemand meinen Fehler? Ich vermute, dass es irgendwas mit dem scrollbaren ResultSet zu tun hat, weil ich sowas bisher nicht verwendet hab, und so ein Fehler bisher nicht auftrat.
Falls jemand Rat weiß... ich bin nämlich inzwischen reichlich ratlos
Grüße
Thomas
[quote="Strat49"]du hast eine Angabe zum ResultSetType vergessen, daher funktioniert das Bewegen innerhalb des ResultSets nicht.
Nach der Zeile
[code]oStatement = oDatVerb.createStatement() [/code]
musst du noch den ResultSetType festlegen:
[code]oStatement.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
[/code]
Danach geht es dann mit der SQL-Abfrage weiter.[/quote]
Ich hab das mal probiert und nun ein sehr seltsames Problem... Erstmal mein Code:
[code] IF pfdia.GetControl("cmbFeld").Text = "" THEN
sFilter = ""
ELSE
sFilter = "WHERE " + pfdia.GetControl("cmbFeld").Text + " " + pfdia.GetControl("cmbVerkn").Text + " " + pfdia.GetControl("cmbWert").Text
END IF
oStatement = ThisComponent.Drawpage.Forms.getByName("frmMain").ActiveConnection.CreateStatement
oStatement.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
IF pfdia.Model.Step = 1 THEN
'Personendaten holen...
oRS = oStatement.ExecuteQuery("SELECT PID, Anrede, Titel, Name, Vorname FROM test_Person " + sFilter + " ORDER BY Name")
ELSE
'Firmendaten holen...
oRS = oStatement.ExecuteQuery("SELECT FID, Firmenname, Ort, Land, Branche FROM test_Firma " + sFilter + " ORDER BY Firmenname")
END IF
oListbox = pfdia.GetControl("ListBox1")
oListbox.removeItems(0, oListbox.getItemcount)
oRS.Last
msgbox oRS.getRow
[/code]
Soweit, so gut. Beim ersten Ausführen sprach die MsgBox von 0, beim zweiten Mal von 29 und seit dem dritten mal von ca. 19x.xxx.xxx Zeilen... die x-Stellen variieren jedesmal. Die tatsächliche Zeilen-Anzahl ist 10911... sieht jemand meinen Fehler? Ich vermute, dass es irgendwas mit dem scrollbaren ResultSet zu tun hat, weil ich sowas bisher nicht verwendet hab, und so ein Fehler bisher nicht auftrat.
Falls jemand Rat weiß... ich bin nämlich inzwischen reichlich ratlos :(
Grüße
Thomas