回答
文本"select * from tblpayroll where empid = userid"
將通過發送正是因爲是到SQL後端,則userid
部分將不會被取代。所以,除非你有一個userid
列,否則你可能會得到一個錯誤。即使你做有一個userid
列,結果將不會是你所期望的。
您需要做什麼取決於userid
是數值還是字符串值。對於數字,您可以使用:
"select * from tblpayroll where empid = " & CStr(userid)
這將首先將數字值轉換爲字符串並按原樣進行檢查。
對於字符串值,使用:
"select * from tblpayroll where empid = '" & userid & "'"
這將只需用引號括起來,以確保一個字符串比較的作品。您需要意識到,如果userid
未被清除,這是一個壞主意 - 它可能會導致SQL注入攻擊。修復這個藝術超出了這個特定問題的範圍,但值得記住。
如果您的變量是數字,但數據庫字段是字符串,該怎麼辦是另一回事。你可以用CStr
和zero-padding來做,但由於這不太可能發生,所以我在這裏沒有記錄它。
......這對我有幫助,但它只能得到一組記錄。我的意思是,例如UserID的值是A52,因此,具有A52的用戶ID的所有記錄必須分別出現在文本框中。 – aer 2011-04-11 06:45:14
@aerohn,該查詢將返回滿足該條件的所有行。如果您只獲得一個,那麼(1)只有一行,如果該表是一個員工類型的表(每個員工一行)而不是一個payrun類型的表(例如,每個員工每行一行月);或者(2)您沒有正確處理返回的行集。 – paxdiablo 2011-04-11 06:49:30
請看看我的工作。我編輯了我的問題... – aer 2011-04-11 07:57:20
顯然,這是你的VB變量。
select * from tblpayroll where empid = '" & userid & "' "
使用這種方式,它會工作
- 1. Geany上的語法檢查/糾正0.20
- 2. 不能糾正語法錯誤的PHP
- 3. 我需要做些什麼來糾正這個SQL語句?
- 4. 如何糾正這個「SQL語法」在PHP和MySQL
- 5. 如何嘗試替換文本後糾正SQL語法錯誤
- 6. 任何人都可以在這裏糾正我的語法?
- 7. SQL:我的語法正確嗎?
- 8. 我的sql語法不正確
- 9. 請幫我修正語法錯誤
- 10. 請告訴我,我在哪裏wrom如何糾正它:
- 11. 如何糾正的if else語句
- 12. 在語法上糾正正常運行時間在C#
- 13. 更正SQL語法?
- 14. 我的sql語句語法錯誤,請幫忙!
- 15. 腳本檢測 - 請糾正我的代碼
- 16. 如何使用Mmap共享內存。請糾正我的代碼
- 17. 糾正Mercurial錯誤的正確方法?
- 18. Oracle SQL語法:請選擇
- 19. 不正確的語法SQL
- 20. 糾正這個XPath表達式請
- 21. 糾正htaccess的
- 22. AJAX請求不再指向糾正成功回調方法
- 23. 的LINQ - 優化/糾正我的查詢
- 24. 語法錯誤,我不知道如何糾正C++代碼。 (作業項目)
- 25. 如何糾正? - SQL Server查詢
- 26. 如何糾正這個反應語法錯誤?
- 27. 如何糾正一個jQuery語法錯誤?
- 28. 我的SQL語法錯誤
- 29. 如何糾正我的案件陳述?
- 30. 如何糾正我的空例外?
你需要提供更多的細節。這是你正在寫的存儲過程嗎? = @userid這是在你的VB代碼?和userID是一個VB變量? ''select * from tblpayroll where empid =「&userId' – Prescott 2011-04-11 06:22:26
我已經提供了我的問題的更多細節......但我讓它更簡單...希望你能幫助我。在此先感謝 – aer 2011-04-11 07:58:38
請不要以自然完全改變的方式編輯您的問題。它使所有的答案日期無用。如果你有一個根本不同的問題(儘管關於同一個程序,它有根本的不同),請問另一個問題。 – paxdiablo 2011-04-11 08:20:37