2016-06-19 6 views
1

Ich habe 6 Image Typ Parameter und eine aber einfügen Anweisung funktioniert nicht.Verschiedene Arten von Parametern in Prozedur einfügen Anweisung

Alter Procedure [dbo].[spGetImages] 
    @img1 Image, @img2 Image, @img3 Image, 
    @img4 Image, @img5 Image, @img6 Image, 
    @Lname nvarchar(50) 
As 
Begin 
    Insert into ImageData (Images, LoginName) 
    Values((@img1), (@img2), (@img3), 
      (@img4), (@img5), (@img6), (@Lname)) 
End 

Fehler:

There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

Obwohl diese einfache Aussage aber, warum ich diese Störung erhalten? etwas zu tun, wie diese

+0

Es ist ziemlich viel falsch mit Ihrem DDL. Zum einen haben einige der Parameter keine deklarierten Datentypen in Ihrer DDL-Anweisung. Es ist auch gut, dass Sie eine vollständig qualifizierte Einfügung durchführen möchten, d. H. Die Spalten explizit auflisten. Sie müssen jedoch die gleichen Zahlenfelder in den Wertkonstruktoren haben. – Yobik

+0

Die Datentypen 'ntext',' text' und 'image' werden in einer zukünftigen Version von SQL Server entfernt. Vermeiden Sie die Verwendung dieser Datentypen in neuen Entwicklungsarbeiten, und planen Sie, Anwendungen zu ändern, die sie derzeit verwenden. Verwenden Sie stattdessen 'nvarchar (max)', 'varchar (max)' und 'varbinary (max)'. [Details siehe hier] (http://msdn.microsoft.com/en-us/library/ms187993.aspx) –

Antwort

4

Sie betrachten wünschen können:

alter proc dbo.spGetImages 
    @img1 image, 
    @img2 image, 
    @img3 image, 
    @img4 image, 
    @img5 image, 
    @img6 image, 
    @Lname nvarchar(50) 
as begin 

    insert into ImageData (Images, LoginName) 
    values 
     (@img1, @Lname), 
     (@img2, @Lname), 
     (@img3, @Lname), 
     (@img4, @Lname), 
     (@img5, @Lname), 
     (@img6, @Lname); 

end 
+0

Vielen Dank Das funktionierte wie erwartet. – Kamran

+1

@kamran, sollten Sie in Betracht ziehen, eine Antwort zu akzeptieren, die Ihr Problem gelöst hat. – Alex

+0

HI, ich habe eine andere Frage in Bezug auf dieses Verfahren die Frage ist, wie kann ich Bilder Spalte aktualisieren? – Kamran

Verwandte Themen