SELECT @sql='', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, ' END)' )

k�nnte es daran liegen?? END)



From: "Brunmair, Patrick" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: AW: [Asp.net] stored prozedure
Date: Wed, 26 May 2004 15:39:20 +0200

Die genaue Fehlermeldung :
System.Data.SqlClient.SqlException: Falsche Syntax in der N�he des END-Schl�sselwortes. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteReader() at PPS.PlanungsDaten.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\p\PPS\PlanungsDaten.aspx.vb:line 75(line75 ist jene in der das execute ausgef�hrt wird)


Meine Crosstab:
CREATE PROCEDURE crosstab
@select varchar(8000),
@sumfunc varchar(100),
@pivot varchar(100),
@table varchar(100),
@where varchar(1000)='1=1'
AS
DECLARE @sql varchar(8000), @delim varchar(1)
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
EXEC ('SELECT ' + @pivot + ' AS pivot INTO ##pivot FROM ' + @table + ' WHERE 1=2')
EXEC ('INSERT INTO ##pivot SELECT DISTINCT ' + @pivot + ' FROM ' + @table + ' WHERE '
+ @where + ' AND ' + @pivot + ' Is Not Null')
SELECT @sql='', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, ' END)' )
SELECT @delim=CASE Sign( CharIndex('char', data_type)+CharIndex('date', data_type) )
WHEN 0 THEN '' ELSE '''' END
FROM tempdb.information_schema.columns
WHERE table_name='##pivot' AND column_name='pivot'
SELECT @[EMAIL PROTECTED] + '''' + convert(varchar(100), pivot) + ''' = ' +
stuff(@sumfunc,charindex( '(', @sumfunc )+1, 0, ' CASE ' + @pivot + ' WHEN '
+ @delim + convert(varchar(100), pivot) + @delim + ' THEN ' ) + ', ' FROM ##pivot
DROP TABLE ##pivot
SELECT @sql=left(@sql, len(@sql)-1)
SELECT @select=stuff(@select, charindex(' FROM ', @select)+1, 0, ', ' + @sql + ' ')
EXEC (@select)
SET ANSI_WARNINGS ON
GO


Und meine funktion getPeriodenplanung ( die funktion von meinem letzten parameter)

CREATE FUNCTION GetPeriodenPlanung (@Planung integer)
RETURNS @Perioden TABLE (Planung int, Periode INT, Bez varchar(50))
AS
BEGIN
declare @P integer, @D varchar(50), @vonPeriode integer, @bisPeriode integer
select @vonPeriode=pvonperiode, @bisPeriode = pbisperiode from T_PPS_Planung where ID = @Planung
set @P = @bisPeriode
select @D = PerBezeichnung from T_PPS_Periode where ID = @bisPeriode


insert @Perioden
select @Planung,@bisPeriode, @D

while @P <> @vonPeriode
BEGIN
SELECT @P = perVorperiode, @D=PerBezeichnung from T_PPS_Periode where ID = @P
insert @Perioden
select @Planung,@P,@D
END
RETURN
END




-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas
Gesendet: Mittwoch, 26. Mai 2004 15:31
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Also f�r den Fall kann ich mit den momentanen Infos leider nur raten!

Ich sehe momentan nur eine L�sung - Du m�sstest Deinen Prozedur Quelltext mal hier posten - sowie mal die genaue Fehlermeldung!

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick
Gesendet: Mittwoch, 26. Mai 2004 15:27
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Ne sql exception , aber wenn ich mein statement in den queryanalyser kopier dann funktioniert es !
Ich versteh das alles nicht mehr ganz...


-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas
Gesendet: Mittwoch, 26. Mai 2004 15:24
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Ist das ne SQL Exception - oder ne DOTNET Exception??

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick
Gesendet: Mittwoch, 26. Mai 2004 14:53
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Hi ,
ich bekomm trotzdem diesen fehler, fallt dir noch etwas auf ? hier mein code:


myCommand = New SqlClient.SqlCommand("crosstab", myConnection)
myCommand.CommandType = CommandType.StoredProcedure
Dim myParm As SqlClient.SqlParameter = New SqlClient.SqlParameter("@select", SqlDbType.VarChar)
myParm.Value = "select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung"
myCommand.Parameters.Add(myParm)
myParm = New SqlClient.SqlParameter("@sumfunc", SqlDbType.VarChar)
myParm.Value = "sum(PDAnzahl)"
myCommand.Parameters.Add(myParm)
myParm = New SqlClient.SqlParameter("@pivot", SqlDbType.VarChar)
myParm.Value = "PerDatum"
myCommand.Parameters.Add(myParm)
myParm = New SqlClient.SqlParameter("@table", SqlDbType.VarChar)
myParm.Value = "V_Planungsdaten_Detail"
myCommand.Parameters.Add(myParm)
myParm = New SqlClient.SqlParameter("@where", SqlDbType.VarChar)
myParm.Value = "Planung = 8 and Periode in (select Periode from getperiodenplanung(8)) "
myCommand.Parameters.Add(myParm)
myCommand.Connection.Open()
Try
myReader = myCommand.ExecuteReader()
Catch ex As SqlClient.SqlException
Label1.Text = ex.ToString
End Try


-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas
Gesendet: Mittwoch, 26. Mai 2004 14:11
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


So wie ich es geschrieben habe!

Quasi - du nimmst immer den Parameter - und musst den immer anf�gen! (Achtung das habe ich unten vergessen!!!!)

SqlParameter myParm = new SqlParameter("@Planung", SqlDbType.Int);
myParm.Value = 8; // Hier Deinen Wert rein!
myCommand.Parameters.Add(myParm);

myParm = new SqlParameter("@Anweisung", SqlDbType.NVarChar);
myParm.Value = "Select .....";
myCommand.Parameters.Add(myParm);

und so weiter.... - so viele Parameter wie Du hast!

Nur immer das "@....." muss mit dem Parameter Deiner Prozedur �berein stimmen!



-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick
Gesendet: Mittwoch, 26. Mai 2004 14:00
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Noch ne frage ,
du hast geschrieben ich muss mir f�r die parameter eine veriable anlegen :
dim myParm as sqlparameter.
wenn ich jett mehr parameter hab , kann ich diese var dann �berschreiben oder muss f�r jeden parameter eine variable her??


-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas
Gesendet: Mittwoch, 26. Mai 2004 13:56
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


PS viel gl�ck ;-)

Aber mach das mit den Parametern - ist echt deutlich sicherer!

Achso Tipp: nimm gleich den NameSpace SQLClient mit rein - dann brauchste das net jedes mal mit hinschreiben!

Also oben rein: using System.Data.SqlClient;

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick
Gesendet: Mittwoch, 26. Mai 2004 13:54
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Danke erstmals wird ich probieren , hab schon so lange f�r die prozedur gebraucht ( war meine erste etwas gr�ssere und dann freut man sich wenn's hinhaut ...und jetzt das mit dem code :(

Danke nochmal

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas
Gesendet: Mittwoch, 26. Mai 2004 13:50
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] stored prozedure


Huch - da sind ja einige Syntaxfehler drin - ich versuche mal ein bisschen zu ordnen - kann aber net versprechen dass ich alle finde!

Der Aufruf sollte so aussehen!
myCommand = new SqlCommand("crosstab", myConnection);
myCommand.CommandType = CommandType.StoredProcedure;

// Dar�ber solltest Du die Parameter richtig �bergeben - dann hast Du gleich nen Schutz gegen SQL Injection
// Das baust Du so zusammen - das Du alle Parameter einzeln an dein Command �bergibst!
SqlParameter myParm = new SqlParameter("@Planung", SqlDbType.Int);
myParm.Value = 8; // Hier Deinen Wert rein!


myParm = new SqlParameter("@Anweisung", SqlDbType.NVarChar);
myParm.Value = "Select .....";

usw.

myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader();

While (myReader.Read())
{
        // Hier jetzt rein - was mit den Daten gemacht werden soll!
}
myReader.Close();
myConnection.Close();

Quelle: ms-help://MS.NETFrameworkSDKv1.1.DE/cpguidenf/html/cpconusingstoredprocedureswithcommand.htm
(falls Du die Framework Doku bei Dir installiert hast)



Das sollte dann auch so funktionieren - die Parameter m�ssen nat�rlich mit den Parametern der Prozedur �berein stimmen!


So ich hoffe das hilft - ansonsten frag einfach!

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick
Gesendet: Mittwoch, 26. Mai 2004 13:22
An: [EMAIL PROTECTED]
Betreff: [Asp.net] stored prozedure


Hallo liste ,
ich habe am sqlserver eine gespeicherte prozedur (crosstab) der ich einige parameter �bergeben muss. Am sqlserver sieht das so aus wenn ich die prozedur aufrufen will:


EXEC crosstab 'select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung ', 'sum(PDAnzahl)', 'PerDatum',
'V_Planungsdaten_Detail', 'Planung = 8 and Periode in (select Periode from getperiodenplanung(8))'



nun probier ich schon 2 tage ohne positiven ergebnis diese in meinem code aufzurufen.


Ich bekomme immer die meldung das ich einen syntaxfehler in der n�he des schl�sselwortes END habe .

Der prozeduraufruf in meinem code sieht so aus :

myCommand = New SqlClient.SqlCommand("crosstab 'select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung ', 'sum(PDAnzahl)', 'PerDatum','V_Planungsdaten_Detail', 'Planung = 8 and Periode in (select Periode from getperiodenplanung(8))'", myConnection)
With myCommand
myCommand.CommandType = CommandType.Text
myCommand.Connection.Open()
myReader = .ExecuteReader()
myReader.Close()


            End With

Kann mir bitte jemand sagen was ich falsch mache , ich bin echt am verzweifeln.
Danke


*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f�r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f|r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************


************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f|r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************


************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f|r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************


************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f|r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************


************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f|r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************


************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

_________________________________________________________________
So k�nnen Sie zu jeder Zeit die besten Suchfunktionen nutzen - die MSN Toolbar. http://toolbar.msn.at?DI=43&XAPID=2170


*************************
_______________________________________________
This ASP.NET email is sponsored by:
UDEX ProMenu.Net  - Die Software f�r Navigation - Jetzt kostenlos testen!
Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
*************************

Antwort per Email an