我一直在研究這個腳本上週左右,我有重大問題試圖瞭解爲什麼它不正確。SQL和ASP幫助!
我有一些複選框鏈接到電子郵件地址,我需要的是相應的用戶名與該電子郵件。該腳本適用於註冊了不同時事通訊的用戶。
這裏是我的編碼
Set conn = Server.CreateObject("ADODB.Connection")
conn.open connStr
emails = Request("emaillist")
emails = Replace(emails, "'", "''")
emails = Replace(emails, ", ", "','")
strSQL = "SELECT name, email FROM emails WHERE email IN ('" & emails & "')"
Set rs = conn.Execute(strSQL)
namesAndEmails = rs.GetRows()
rs.close
for lnRowCounter = 0 To Ubound(namesAndEmails,2)
For lnColumnCounter = 0 To Ubound(namesAndEmails,1)
Response.Write namesAndEmails(lnColumnCounter, lnRowCounter)
Response.write "</P>"
Next
Next
這是整個腳本的一部分,我已經改變了它周圍一點,包括對...下一頁進行調試。
現在爲了解決這個問題,如SELECT語句'名稱,電子郵件'所示,結果完全忽略了電子郵件並僅給出了名稱。
我已經嘗試過直接使用SQL語句,它能夠完美地同時顯示名稱和電子郵件,但不能顯示在我的ASP頁面中。我甚至嘗試在其中放置一個*。
strSQL = "SELECT * FROM emails WHERE email IN ('" & emails & "')"
將返回用戶ID,姓名,和其他幾個項目的從數據庫而不是名稱和電子郵件在一起,爲什麼?????
這是ASP與SQL Server數據庫
問候
裏克
測試時,它的設置,因爲這從STRSQL結果
值:
SELECT name, email
FROM emails
WHERE email IN ('[email protected]','[email protected]')
這SQL將給我以下答案
name | email
jo | [email protected]
fred | [email protected]
在ASP答案是
[email protected]
[email protected]
我想不通,爲什麼在SQL它會顯示姓名和電子郵件,但在ASP它只會顯示的電子郵件,而不是名稱。
我甚至試過
strSQL = "SELECT * FROM emails WHERE email IN ('[email protected]','[email protected]')
,這將在ASP中產生的所有結果除名稱!!!!!
strSQL分配中電子郵件的價值是什麼?是否有多個(逗號分隔)電子郵件值?你可以給我們提供在'emails'被替換後提交給SQL Server的SELECT語句。 – bobs 2010-07-26 23:28:58
如果您嘗試'選擇名稱作爲SomeName,....'(即提供名稱anothor fieldname),會發生什麼? – Edelcom 2010-07-29 10:37:15
你能告訴我們你的電子郵件表的表定義(數據類型和列長度)嗎? 最簡單的方法是右鍵單擊SQL Management Studio中的表,將其作爲腳本表創建,然後將其粘貼到您的問題中。 – 2010-07-29 11:40:54