2016-09-11 33 views
-1

。我無法讓SqlParameter在我的SqlCommand上工作。當我運行SqlParameters下面的代碼時,並不適用於SqlCommand。SqlParameter不起作用

SqlCommand tSQL = new SqlCommand(); 
tSQL.CommandText = "SELECT TraceEvent.name AS [EventName], Trace.* FROM sys.fn_trace_gettable(CONVERT(VARCHAR(150), (@filepath)), @numberoffiles) Trace JOIN sys.trace_events TraceEvent ON Trace.EventClass = TraceEvent.trace_event_id WHERE TraceEvent.name LIKE @eventType ORDER BY Trace.StartTime"; 

tSQL.Parameters.AddWithValue("filepath", @"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\log_11.trc"); 
tSQL.Parameters.AddWithValue("numberoffiles", 1); 
tSQL.Parameters.AddWithValue("eventType", '%'); 

tSQL.Connection = Connection; 

Connection.Open(); 
Connection.ChangeDatabase("master"); 

DataSet DataSet = new DataSet(); 
SqlDataAdapter Adapter = new SqlDataAdapter(tSQL); 

Adapter.Fill(DataSet); 

foreach (DataTable Table in DataSet.Tables) 
{ 
    Result.Add(Table); 
} 
+0

你想說什麼? – Kafo

+0

sqlparameters沒有得到應用 – Hakubex

+0

更改@到?並嘗試 – Kafo

回答

1

U中的SQL參數之前已經錯過 '@' ..

tSQL.Parameters.AddWithValue("@filepath", @"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\log_11.trc"); 
tSQL.Parameters.AddWithValue("@numberoffiles", 1); 
tSQL.Parameters.AddWithValue("@eventType", '%'); 

我想這會幫助..