Komisch, ich dachte, ich hätte heut morgen was gepostet.
Erstmal setze ich DDL-Kommandos einfach, wie ich schon schrieb, mit der TADOConnection.Execute Methode ab, damit klappt es garantiert. Ich ziehe mir vorher die Liste der Views (TADOConnection.GetTableNames) und schreibe dann 'CREATE VIEW' oder 'ALTER VIEW'.
Danach kannst Du dann dein "Select" über ein TADODataset-Derivat abrufen.
Oder, Du erstellst das Skript richtig. Dann musst Du aber dafür sorgen, das nur genau ein Resultset geliefert wird. Ich denke, es sollte so funktionieren:
SQL-Code:
set nocount on
Create View...
GO
Create View ...
GO
Set Nocount off
select * ...
Alelrdings löse ich solche Probleme mit einer stored Procedure und einer temporären Tabelle. Bei
MSSQL kannst Du auch eine Tabellenvariable benutzen, dann musst Du nicht hinter Dir aufräumen. Die Tabellenvariablen entsprechen deinen Views, das ganze dürfte dann etwas sauberer sein und in jedem Falle 'skriptfähig'.