Как я могу использовать что-то вроде оператора getdbnumbervalue в качестве параметра, подобного этому коду?
How can I use something like getdbnumbervalue statement as parameter like this code?
Это утверждение (GetDBNumberValue) предотвращает sql-инъекцию, сказал мой босс. Но я собираюсь найти что-то подобное и использовать его в своих проектах
Что я уже пробовал:
public bool UpdateInfo_ToDownloadQueueStatus(string strAutoID) { string strQuery = " UPDATE tb_NGD_ToDownloadQueue SET "; strQuery += " Status = 2 "; strQuery += ","; strQuery += " DownloadEnd = " + GetDbStringValue(DateTime.Now.ToString()); strQuery += " WHERE AutoID = " + GetDbNumberValue(strAutoID); strQuery += " DECLARE @RowCount int; "; strQuery += " SELECT @RowCount = COUNT(*) FROM tb_NGD_ToDownloadQueue "; strQuery += " WHERE fk_DownloadRequestScales = ( SELECT TOP 1 fk_DownloadRequestScales FROM tb_NGD_ToDownloadQueue WHERE AutoID = " + GetDbNumberValue(strAutoID) + " ) AND [Status] = 1 "; strQuery += " IF @RowCount > 0 "; strQuery += " BEGIN "; strQuery += " UPDATE tb_NGD_DownloadRequestScales SET JobStatusID = 5 WHERE tb_NGD_DownloadRequestScales.AutoID = ( SELECT TOP 1 fk_DownloadRequestScales FROM tb_NGD_ToDownloadQueue WHERE AutoID = " + GetDbNumberValue(strAutoID) + " ) "; strQuery += " END "; strQuery += " ELSE "; strQuery += " BEGIN "; strQuery += " UPDATE tb_NGD_DownloadRequestScales SET JobStatusID = 2 WHERE tb_NGD_DownloadRequestScales.AutoID = ( SELECT TOP 1 fk_DownloadRequestScales FROM tb_NGD_ToDownloadQueue WHERE AutoID = " + GetDbNumberValue(strAutoID) + " ) "; strQuery += " END "; //strQuery += " UPDATE tb_NGD_DownloadRequestScales SET "; //strQuery += " JobStatusID = 2 "; //strQuery += " WHERE AutoID = ( SELECT TOP 1 fk_DownloadRequestScales FROM tb_NGD_ToDownloadQueue WHERE AutoID = " + GetDbNumberValue(strAutoID) + " ) "; if (!baseClass.MapInfo_NoRetValue(strQuery)) { ErrMessage = baseClass.ErrMessage; return false; } return true; }