Frage : Unzulässiger Spaltenname „[email protected]

Das folgende ist ein gespeichertes Verfahren, das ich benenne. Dieses wird von einer Suchseite benannt, in der Kriterien und dann submitted.

USE [dbOIT]
GO
/****** Gegenstand spezifiziert wird:  StoredProcedure [dbo]. [SearchResults] Index-Datum: 08/23/2010 18:22: 25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VERFAHREN [dbo]. [SearchResults]

@Tag nvarchar (100)
, @Email nvarchar (120)
, @Serial nvarchar (50)
, @EquipID nvarchar (4)
, @Platform nvarchar (4)
, @OS nvarchar (4)

AS
BEGIN
SET NOCOUNT AN;

DECLARE @sql1 WÄHLEN nvarchar (4000)

SELECT @sql1='< Br/>
a.AssetID, a.AssetTag, a.OSId, a.ModelID, a.EquipmentTypeID, a.PlatformID, a.EmailAddress, a.SerialNumber
, p.PlatformName, e.EquipmentType, m.ModelName
, ltrim vor (rtrim (a.HDD)) als HDD ltrim (rtrim (a.RAM)) als RAM o.OperatingSystem
vom dbo. Anlagegüter, die a
dbo.EquipmentTypes e MIT (NOLOCK) auf e.EquipmentTypeID=a.EquipmentTypeID
VERBINDEN, VERBINDEN dbo. Plattformen p MIT (NOLOCK) auf p.PlatformID=a.PlatformID
VERBINDEN dbo. Modelle m MIT (NOLOCK) auf m.ModelID=a.ModelID
VERBINDEN dbo.OperatingSystems O MIT (NOLOCK) auf o.OSId=a.OSId
in dem 1=1'< Br/>
, WENN @Tag NICHT AUSERWÄHLTES NULL
@sql1 = @sql1 + „UND a.AssetTag =“ + @Tag

IST, WENN @Email NICHT AUSERWÄHLTES NULL
@sql1 = @sql1 + „IST UND a.EmailAddress =“ + @Email + „„„

, WENN @Serial, IST NICHT NULL
AUSERWÄHLTES @sql1 = ist @sql1 +“ UND a.SerialNumber =“ + @Serial

, WENN @EquipID NICHT AUSERWÄHLTES NULL
@sql1 = @sql1 + „IST UND a.EquipmentTypeID =“ + @EquipID

, WENN @Platform NICHT AUSERWÄHLTES NULL
@sql1 = @sql1 + „IST UND a.PlatformID =“ + @Platform

, WENN @OS NICHT AUSERWÄHLTES NULL
@sql1 = @sql1 + „IST UND a.OSId =“ + @OS

EXEC (@sql1)
END

Here das merkwürdige Fach. Ich kann Betriebssystem-, Plattform, Ausrüstungs-Art und Anlagegut-Umbau mit Gesamterfolg führen. Jedoch wenn ich email address oder Serie # führe, erhalte ich das folgende:

Invalid Spaltenname '[email protected]'< Br/>


Description: Eine unhandled Ausnahme trat während der Durchführung des gegenwärtigen Netzantrags auf. Das Kellerprotokoll zu mehr Information über die Störung bitte wiederholen und wo sie aus den code.

Exception Details stammte: System.Data.SqlClient.SqlException: Unzulässiger Spaltenname „[email protected]“.

Source Störung:

An unhandled Ausnahme wurde während der Durchführung des gegenwärtigen Netzantrags erzeugt. Informationen betreffend den Ursprung und die Position der Ausnahme können using die AusnahmeKellerprotokoll below.

Stack Spur gekennzeichnet werden:

[SqlException (0x80131904): Unzulässiger Spaltenname „[email protected]“. ]
System.Data.SqlClient.SqlConnection.OnError (SqlException Ausnahme, Boolesches breakConnection) +1951450
System.Data.SqlClient.SqlInternalConnection. OnError (SqlException Ausnahme, Boolesches breakConnection) +4849003
System.Data.SqlClient.TdsParser. ThrowExceptionAndWarning (TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser. (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2394
System.Data.SqlClient.SqlDataReader.ConsumeMetaData () +33
System.Data.SqlClient.SqlDataReader.get_MetaData () +83
System.Data.SqlClient.SqlCommand laufen lassen. FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, Schnur, die resetOptionsString sind) +297
System.Data.SqlClient.SqlCommand. RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolesches returnStream, Boolesches async) +954
System.Data.SqlClient.SqlCommand. RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolesches returnStream, Schnurmethode, DbAsyncResult Resultat) +162
System.Data.SqlClient.SqlCommand. RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolesches returnStream, Schnurmethode) +32
System.Data.SqlClient.SqlCommand. ExecuteReader (CommandBehavior Verhalten, Schnurmethode) +141
System.Data.SqlClient.SqlCommand. ExecuteDbDataReader (CommandBehavior Verhalten) +12
System.Data.Common.DbCommand. System.Data.IDbCommand. ExecuteReader (CommandBehavior Verhalten) +10
System.Data.Common.DbDataAdapter. FillInternal (DataSet Datensatz, DataTable [] datatables, Int32 startRecord, maxRecords Int32, reihen srcTable, IDbCommand Befehl, CommandBehavior Verhalten) +130
System.Data.Common.DbDataAdapter auf. Fill (Datensatzdatensatz, Int32 startRecord, maxRecords Int32, reihen srcTable, IDbCommand Befehl, CommandBehavior Verhalten) auf, +287
System.Data.Common.DbDataAdapter. Fill (Datensatzdatensatz, reihen srcTable) auf, +92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect (DataSourceSelectArguments Argumente) +1297
System.Web.UI.DataSourceView. (DataSourceSelectArguments Argumente, DataSourceViewSelectCallback Wiederholungsbesuch) +19
System.Web.UI.WebControls.DataBoundControl vorwählen. PerformSelect () +142
System.Web.UI.WebControls.BaseDataBoundControl.DataBind () +73
System.Web.UI.WebControls.GridView.DataBind () +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound () +82
System.Web.UI.WebControls.CompositeDataBoundControl. CreateChildControls () +72
System.Web.UI.Control.EnsureChildControls () +87
System.Web.UI.Control.PreRenderRecursiveInternal () +44
System.Web.UI.Control.PreRenderRecursiveInternal () +171
System.Web.UI.Control.PreRenderRecursiveInternal () +171
System.Web.UI.Control.PreRenderRecursiveInternal () +171
System.Web.UI.Control.PreRenderRecursiveInternal () +171
System.Web.UI.Page.ProcessRequestMain (Boolesches includeStagesBeforeAsyncPoint, Boolesches includeStagesAfterAsyncPoint) +842



Any Idee, was falsch hier geht?

Antwort : Unzulässiger Spaltenname „[email protected]

Ich bedeutete below (Korrektur).
Sie müssen sie veranschlagen, weil es eine (N) (var) Putzfrau ist
1:
            VORWÄHLEN @sql1 = @sql1 + „UND a.EmailAddress =“ + QuoteName (@Email, '''') + ''
Weitere Lösungen  
 
programming4us programming4us