我想構建一個SQL查詢並將傳遞一個字符串作爲參數。但是,我收到和不正確的語法錯誤。我已經打印出了值,儘管對我來說似乎都很好。SQL CommandText上的語法不正確
我有一個字符串 「的SqlString」,這是通過一系列級聯的建成,生產這樣的:
sqlString = " and (event_id=60 OR event_id=61 OR event_id=56 OR event_id=73)"
SqlCommand totalCmd = new SqlCommand();
totalCmd.CommandText = "SELECT sum(datediff(hour,[event_start],[event_end])) as Timeworked FROM event WHERE (event_start >= @StartDate and event_end <= @EndDate) @mySqlString";
totalCmd.Parameters.AddWithValue("StartDate", txtStartDate.Text);
totalCmd.Parameters.AddWithValue("EndDate", txtEndDate.Text);
totalCmd.Parameters.AddWithValue("mySqlString", sqlString);
totalDT = SqlComm.SqlDataTable(totalCmd);
這是產生錯誤
附近有語法錯誤@mySqlString'
我已經通過輸入參數直接在SQL中運行此查詢,它運行良好。傳遞mySqlString
參數時出現什麼問題?
您正在嘗試注入SQL。參數防止SQL注入。 –