2016-09-11 4 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", '%'); 

私はこれが役立つと思います。..

関連する問題