Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Sharepoint - Probleme mit asp querystringparameter - updatecommand

Mitglied: Kitana

Kitana (Level 1) - Jetzt verbinden

04.02.2009, aktualisiert 10:12 Uhr, 5194 Aufrufe, 1 Kommentar

hallo,
ich arbeite seit einiger Zeit mit dem Sharepoint Designer 2007.
Der betreffender Sharepoint Server liegt auf einem w2k3.

Kurz zum Umfeld:
ich entwickel mit sharepoint eine Art Datenbank für Verträge, welche die Anbindung an eine SQL Datenquelle benötigt zum Generieren neuer Vertragsnummern und Änderungsnummern. Das heißt jedes Mal wenn man ein NewForm aufruft (Verträge bzw Änderungen) wird die Tabelle in der Datenbank geupdatet. Da bei jedem Vertrag die Änderungsnummer bei 1 beginnen soll, ergibt sich daraus eine Tabelle in der SQL Datenbank, die die Felder Vertragsnummer und Änderungsnummer beinhaltet. Bei Anlegen eines neuen Vertrages wird in der Datenbank ein neuer Datensatz mit "letzte Vertragsnummer + 1" und Änderungsnummer 0 angelegt. Bei einer neuen Änderung soll dann die Änderungsnummer um 1 hochgezählt werden. Soweit zur Teorie der Datenbank - geht nur nicht :D

Praktisch funktioniert das Hochzählen der Änderungsnummer nicht so ganz wie gewünscht. Das heißt er führt den Updatecommand im SQL Query einmal bei Aufruf der Seite durch, was er auch soll und dann auch noch ein zweites Mal wenn man auf den Speichern Button klickt.
ich habe auf der Seite zwei DataFormWebparts, welche über eine Webpartverbindung verbunden sind. Der obere Webpart hat eine SPDatasource. Der untere eine SQLDatesource. Der untere Webpart ist im endeffekt dazu da die Änderungsnummer aus der SQL datenbank an den oberen Webpart zu übergeben, damit diese über das dortige Formular gespeichert werden kann.

Diesen schematischen Aufbau der beiden Webparts habe ich auch auf den Seiten für einen Neuen Vertrag und für einen neuen Geschäftspartner. Dort funktioniert das Hochzählen der jeweiligen (Vertrags- bzw. Partner-)Nummer ohne probleme. wenn ich ein neues Formular aufrufe, Daten eingebe, speicher und dann wieder ein neues Formular aufrufe, habe ich die nächst höhere Nummer.
Der Unterschied im Formular für eine neue Änderung zu den beiden Formularen besteht nun effektiv darin wie das SQL Query aufgebaut ist und dort liegt auch der "Fehler".

Das SQL Query für eine neue Vertragsnummer sieht wie folgt aus:

*<DataSources>
<asp:SqlDataSource id="..." runat="server" ... ProviderName="System.Data.SqlClient" ConnectionString="..." SelectCommand="DECLARE @Vertrag AS SMALLINT; SELECT @Vertrag=Max(Vertragsnummer)+1 FROM [Vertrag]; INSERT INTO [Vertrag] VALUES (@Vertrag,0); SELECT Max(Vertragsnummer) AS Vertragsnummer FROM [vertrag]"/>
</DataSources>*

Das SQL Query für einen neuen Partner sieht wie folgt aus:

<DataSources>
<asp:SqlDataSource id="..." runat="server" ... ProviderName="System.Data.SqlClient" ConnectionString="..." SelectCommand="UPDATE [Geschaeftspartner] SET Partnernummer = Partnernummer + 1; SELECT * FROM [Geschaeftspartner] "/>
</DataSources>

So und das Ganze für die Änderung ist ein wenig umfangreicher:

<DataSources>
<asp:SqlDataSource id="..." runat="server"... ProviderName="System.Data.SqlClient" ConnectionString="..." SelectCommand=" UPDATE [Vertrag] SET Aenderungsnummer = Aenderungsnummer + 1 WHERE Vertragsnummer = @Venummer; SELECT * FROM [Vertrag] WHERE Vertragsnummer = @Venummer"><SelectParameters><asp:querystringparameter QueryStringField="Vnummer" DefaultValue="1000" Name="Venummer" /></SelectParameters>
</asp:SqlDataSource>
</DataSources>

Das einzige, was zu den beiden anderen anders ist, ist dass ich hier unbedingt SelectParameters benötige. Der querystringparameter holt sich die Vertragsnummer aus der Url und übergibt diese an den SelectCommand.
Das Witzige an der Sache ist nun, wenn man das so ausführt, wird wie am Anfang beschrieben der SelectCommand zweimal ausgeführt und somit auch das UPDATE.
Sobald ich der Vertragsnummer einen festen Wert zuweise und den SelectParameter rausnehme, funktioniert das auch tadelos.
Übrigens muss im SelectCommand der parameter @Venummer noch nicht einmal auftauchen. Es reicht schon aus, dass die zeile:
<SelectParameters><asp:querystringparameter QueryStringField="Vnummer" DefaultValue="1000" Name="Venummer" /></SelectParameters>
im Code present ist, ohne irgendwo Anwendung zu finden, dass er zweimal ein Update macht ...

So und nun die Frage:
Was mach ich falsch, ist das ein blöder Bug, kennt das jemand? :D
Mitglied: Kitana
06.02.2009 um 09:09 Uhr
Lösung gefunden aber aufgrund von Unprofessionalität (auf deutsch fusch) nicht öffentlich tragbar *g*
Eins sei gesagt: Ich hab das mit dem doppelt Ausführen und somit um +2 hochzählen der Nummer nicht gelöst, sondern umgangen.

Fakt sei, dass der WSS irgendwie meint das SQL query zweimal ausführen zu müssen nur aufgrund der Tatsache, dass ein oder mehr Parameter in der DataSource definiert ist/sind.

Vielleicht stößt jemand in Zukunft auf das gleiche Problem und weiß eine Lösung ....
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
SharePoint 2013 Sync Probleme
Frage von VSimonMicrosoft Office

Hallo, wir sind eine kleine Firma die seit kurzem SharePoint 2013 (die Standard Office Version) verwendet. Nun haben wir ...

Microsoft
Sharepoint 2013 mit Office 2007 Probleme
Frage von LukihoferMicrosoft

Hallo Zusammen ! Ich hab das Problem das wir in der Firma Office 2007 und Sharepoint 2013 im Einsatz ...

Webentwicklung
ASP MVC auf IIS 8.5
Frage von hpbrunsWebentwicklung3 Kommentare

Hallo liebe Gemeinde Ich bin schier am Verzweifeln. Seit zwei Wochen doktor ich an einem Problem rum und krieg's ...

Webentwicklung

Type.mismatch nach umstellung auf einem anderssprachigen Server (ASP)

Frage von m.beckerWebentwicklung

Wir haben eine Intranetanwendung die nach einem Serverwechsel auf einen englischen Server 2008R2 den Fehler 80020005 Die Gebietsschema-ID auf ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL14 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1011 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)11 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs11 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...