![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 傑兄 ![]()
![]() |
我想寫一個判斷的程式,來檢查使用者輸入的資料,是否與資料庫的資料重複! 我的程式碼如下: Dim to1tbx As TextBox = Me.FormView1.FindControl("to1TextBox") Dim tq1tbx As TextBox = Me.FormView1.FindControl("tq1TextBox") Dim t1button2 As Button = Me.FormView1.FindControl("t1Button2") Dim dv As New Data.DataView Me.SqlDataSource3.SelectParameters.Clear() Me.SqlDataSource3.SelectCommand = "select count(salen) from sale where (salen like '%' + " & to1tbx.Text & " + '%')" dv = Me.SqlDataSource3.Select(New DataSourceSelectArguments) <==錯誤訊息所在 If dv.Count > 0 Then Me.ClientScript.RegisterStartupScript(Me.GetType, "Alert", "window.alert('左邊下拉式選單,已經有您輸入的資料可選擇喔!');", True) . . . End If 當我執行看看的時候,我在to1tbx.Text 裡輸入文魁兩個字,接著按下t1button2 結果出現:無效的資料行名稱 '文魁'。這樣的訊息 該如何解決呢?
搜尋相關Tags的文章:
[ 資料庫 ] ,
本篇文章發表於2006-12-13 22:07 |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓
作者回應
傑兄 ![]() |
補充一下問題,我的想法是,我寫了一個下拉式選單,與SqlDataSource3資料連結,可以選擇出版商,如文魁、華泰、滄海..等,可讓使用者選擇,可是當沒有他所要的,便可點選<其它>按鈕,按下去就出現上面所宣告的,to1tbx.Text (輸入所要新增的出版商)及t1button2(確認送出按鈕)。而當使用者按下t1button2,我想寫上面所述敘的想法,驗證使用者輸入的出版商,是否資料庫已經有該筆資料了,如果有就顯現彈跳視窗告訴他。如果沒有,就將該筆資料新增至資料庫,使用者便可從下拉式選單去選它的資料。
上面salen就是資料庫裡的出版商欄位。 如不懂我的想法,請留訊息告訴我~~~ 懇請各位大大協助~~~
本篇文章回覆於2006-12-13 22:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
Me.SqlDataSource3.SelectCommand = "select count(salen) from sale where (salen like '%' + " & to1tbx.Text & " + '%')"
to1tbx.Text 好像少了加單引號 你檢查看看 :)
本篇文章回覆於2006-12-13 22:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
也可以這樣寫.. :)
Me.SqlDataSource3.SelectCommand = "select count(salen) from sale where (salen like '%" & to1tbx.Text & "%')"
本篇文章回覆於2006-12-13 22:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
傑兄 ![]() |
達可達~~~我試過了,還是會出現問題~~~~
我有試過改成這樣: Me.SqlDataSource3.SelectCommand = "SELECT COUNT(salen) AS Expr1 FROM sale WHERE (salen LIKE '%" & to1tbx.Text & "%')" 結果出現下面這段訊息: DataBinding: 'System.Data.DataRowView' 沒有包含名為 'salen' 的屬性。 是什麼意思呢?
本篇文章回覆於2006-12-14 20:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓 |
我先說明我的觀念
如果要判斷是否跟資料庫有一樣的資料 不能用LIKE 應該用"="才對 如果資料庫有一筆資料是 "ABCDEF" 可是使用者輸入 CDE 執行SQL 後還是會回傳一筆甚至 多筆資料如果資料為 "我有CDE這三個字" 那就有兩筆 那到底使用者輸入的資料是否有重複呢? 至於SQL語法要判斷是否存在我會這寫
本篇文章回覆於2006-12-14 21:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
傑兄 ![]() |
飛天南門您的意思我了解~~~~
但我的想法是,假如使用者他想選擇一個名為文魁的出版商,可是我的下拉式選單裡有該選項文魁可讓他選, 結果使用者沒看清楚,點選其它按鈕來新增出版商,結果他輸入文魁資訊來做新增。 可是其實文魁與文魁資訊是一樣的,所以我想在,當使用者按下確認新增紐時,寫一個判斷, 判斷他所輸入的資料,是否與資料庫目前有的相類似,但一直寫不出來,一直出現問題。 不知能否能這樣做呢?飛天南門大大~~~
本篇文章回覆於2006-12-14 22:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓 |
已經是下拉式選單(理應不能輸入資料),那使用者為何還可以輸入資料呢?
本篇文章回覆於2006-12-14 23:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓
作者回應
傑兄 ![]() |
因為下拉式選單裡的資料可能沒有使用者要的,所以它可以點選其他按鈕來輸入。
我資料庫裡內建的資料只有20個書商,是比較有名的,但台灣有很多書商,我不可能全部自行輸入。 所以內建20個有名的、比較大的書商,來讓使用者選擇。如他要其他的話,就讓他自行輸入。 但我想寫割判斷,判斷使用者所輸入的資料,是否與資料庫目前有相類似的。 就如我上一個的回應。 飛天南門大大~~~不知我這樣解釋清楚嗎?麻煩您了~~~不好意思^0^
本篇文章回覆於2006-12-15 20:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓 |
你試試這樣的語法行不行:
(不過你要先確定你的資料庫是否有 "salen" ← 這個欄位)
本篇文章回覆於2006-12-15 22:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
10樓
作者回應
傑兄 ![]() |
飛天南門大大~~~會出現
SQLException 接近 'Count' 之處的語法不正確。 的訊息!
本篇文章回覆於2006-12-15 23:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
11樓
最有價值解答
飛天南門 ![]() |
本篇文章回覆於2006-12-16 00:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓
作者回應
傑兄 ![]() |
飛天南門大大~~~~可以了,謝謝您!
本篇文章回覆於2006-12-16 00:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |