private void btnCheck_Click(object sender, EventArgs e)
{
string costring = connection();
string MyQuery = "select expense from dbo.KmtAccounts where date between '"+ txtFromDate +"' and '" +txtToDate +"' and registernumber='" + txtRegNo.Text + "'";
SqlConnection conn = new SqlConnection(costring);
SqlCommand cmd = new SqlCommand(MyQuery, conn);
conn.Open();
txtResult.Text = Convert.ToString(cmd.ExecuteScalar());
conn.Close();
}
回答
在您的代碼中有幾點需要改進。
- 看來,txtFromDate和txtToDate是控件?!我想你想訪問txtFromDate.Text
- 你真的應該利用SqlParameters防止SQL注入(在dotnetperls.com很好的例子)
- 您可以檢查,如果你的UI值與某種正確驗證甚至更好,選擇一個控制,只允許有效值(DateTimePicker,Calendar,...)
但我得到的結果,當我運行查詢選擇總和(費用)從dbo.KmtAccounts '05/23/12'和'05/30/12'之間的日期和registernumber ='kl08347' – Naveen
所以txtFromDate是一個* *字符串值** _不控制_ - 檢查點1.什麼** sql注入(2)**和**控件(3)**?嘗試輸入「05/23/12」;從dbo.KmtAccounts刪除; - ''想想會發生什麼! –
現在我正在使用monthcalendar而不是文本框,但我們如何獲取所選日期,應使用monthcalendar的哪個屬性?你可以幫我嗎? – Naveen
導致異常的問題是,在的價值和/或txtToDate
不被理解爲表示日期。
更大的問題是,似乎很少或根本沒有什麼措施阻止其中一個包含有效值的值後跟';delete from dbo.KmtAccounts;---
。
這兩個問題將通過查詢select expense from dbo.KmtAccounts where date between @from and @to and [email protected]
然後使用參數將日期(作爲日期,而不是字符串)和reg-number添加到查詢中來解決。
- 1. 轉換日期和/或時間從字符串轉換失敗
- 2. 轉換日期和/或時間從字符串轉換失敗
- 3. 轉換日期和/或時間從字符串轉換失敗
- 4. 轉換日期和/或時間從字符串轉換失敗
- 5. 轉換日期和/或時間從字符串轉換失敗
- 6. 轉換日期和/或時間從字符串轉換失敗
- 7. 轉換日期和時間從字符串轉換失敗
- 8. 轉換從字符轉換日期/時間失敗字符串
- 9. 從字符串轉換日期和/或時間時轉換失敗。從的DateTimePicker
- 10. 轉換失敗時,轉換日期和/或時間從字符串的SQL Server
- 11. 從字符串轉換日期和/或時間時轉換失敗
- 12. 錯誤「轉換失敗時從字符串轉換日期和/或時間」
- 13. 當從字符串中轉換日期和/或時間時,轉換失敗
- 14. 從字符串動態轉換日期和/或時間時轉換失敗sql
- 15. 轉換失敗時從字符串#轉換日期和/或時間2
- 16. 從字符串轉換日期和/或時間時轉換失敗
- 17. PHP:從字符串轉換日期和/或時間時轉換失敗
- 18. 從字符串中轉換日期和/或時間時轉換失敗
- 19. 描述:「從字符串轉換日期和/或時間時轉換失敗。」
- 20. 從字符串轉換日期和/或時間時轉換失敗。
- 21. 轉換失敗時轉換從字符串vb.net日期和/或時間
- 22. 從字符串轉換日期和/或時間時,SQL轉換失敗
- 23. 從字符串轉換日期和/或時間時轉換失敗?
- 24. 從字符串轉換日期和/或時間時轉換失敗SQL 17.1
- 25. 從字符串中轉換日期和/或時間時轉換失敗
- 26. SQL Server:從字符串轉換日期和/或時間時轉換失敗
- 27. Invoke-Sqlcmd:從字符串中轉換日期和/或時間時轉換失敗
- 28. Dynamics AX 2012:從字符串轉換日期和/或時間時轉換失敗
- 29. 錯誤說轉換失敗時,轉換日期和/或時間從字符串
- 30. 從字符串中轉換日期和/或時間時DateTime轉換失敗
不要建立這樣的查詢。使用參數化查詢並聲明正確數據類型的參數。閱讀SQL注入。 –
變量的值是什麼?他們可以依靠文化。順便說一句:你不怕SQL注入? –
什麼是你的問題?你只發布代碼和標題! – SMK