台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
1053
 
會員總數:230767
接案會員:6775
文章總數:2320
討論主題:176605
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 初始化字串的格式和開始於索引 0 的規格不相符

[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
初始化字串的格式和開始於索引 0 的規格不相符
價值 : 50 QP  點閱數:3303 回應數:12

點圖分享到Plurk吧!
樓主

阿D
初學者
245 16
674 71
發送站內信

捐贈 VP 給 阿D
程式碼如下~

出現 [ 初始化字串的格式和開始於索引 0 的規格不相符。]
想不出那有問題耶~



本篇文章發表於2009-10-05 16:46
什麼是iT Power資訊報 新手會員瞧一瞧
1樓
回應

阿健
檢舉此回應
你確定出錯的時候連結有帶querystring?
不然就你的querystring參數值不是int?

確定一下吧


如果是上述問題
就把這些動作外面包一層判斷,
request.QueryString["no"] == null的話要怎麼辦..etc之類的

還有參數的格式也要判斷喔..



本篇文章回覆於2009-10-05 18:01
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿D
捐贈 VP 給 阿D 檢舉此回應
補充一下:

Dim ads As New SqlDataSource (.....)

這一段,若我是New 一個AccessDataSource的情況下,執行完全正常,但改成SqlDataSource就[初始化字串的格式和開始於索引 0 的規格不相符] !! 因為我的資料庫有加密碼,所以只能用SqlDataSourcel來設定....


本篇文章回覆於2009-10-06 08:38
--未登入的會員無法查看對方簽名檔--
3樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
ads.SelectCommand = "SELECT * FROM 表單 where 表單.自動編號 = ?"
改成
ads.SelectCommand = "SELECT * FROM 表單 where 表單.自動編號 =@no"
試看看


本篇文章回覆於2009-10-06 09:09
--未登入的會員無法查看對方簽名檔--
4樓
回應

麥穗
檢舉此回應
Dim ads As New SqlDataSource("~/App_Data/Form_db.mdb", "SELECT * FROM 表單 where 表單.自動編號 = ? " & Request.QueryString("no"))

這段怪怪的, 怎麼會 sql 語法最後還加了 Request.QueryString("no") ?
如果照這個語法,參數也傳遞正確,最後出來SQL 語法會是 "SELECT * FROM 表單 where 表單.自動編號 = 2 2" 之類的。
多串了一個參數值進去


本篇文章回覆於2009-10-06 10:27
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

阿D
捐贈 VP 給 阿D 檢舉此回應
Allen 大大:改過了,錯誤還是一樣耶!!


本篇文章回覆於2009-10-06 10:33
--未登入的會員無法查看對方簽名檔--
6樓
回應

SAM
捐贈 VP 給 SAM 檢舉此回應
跟#4大大一樣的想法,應該是下列的問題。
Dim ads As New SqlDataSource("~/App_Data/Form_db.mdb", "SELECT * FROM 表單 where 表單.自動編號 = ?")


本篇文章回覆於2009-10-07 16:37
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

阿D
捐贈 VP 給 阿D 檢舉此回應
回#4.#6大大:

問題應該不是這一行...
Dim ads As New SqlDataSource("~/App_Data/Form_db.mdb", "SELECT * FROM 表單 where 表單.自動編號 = ?")
即使改過來,也是一樣錯誤訊。

另外,若是用AccessDataSource是沒問題的,但用SqlDataSource就出錯!!



本篇文章回覆於2009-10-08 09:03
--未登入的會員無法查看對方簽名檔--
8樓
回應

SAM
捐贈 VP 給 SAM 檢舉此回應
用SqlDataSource哦…要改成

Dim ads As New SqlDataSource("~/App_Data/Form_db.mdb", "SELECT * FROM 表單 where 表單.自動編號 = @no")
ads.SelectParameters.Add("no", Request.QueryString("no"))


本篇文章回覆於2009-10-08 09:15
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

阿D
捐贈 VP 給 阿D 檢舉此回應
SAM 大大..改過情況還是一樣ㄋㄟ



本篇文章回覆於2009-10-08 10:01
--未登入的會員無法查看對方簽名檔--
10樓
回應

SAM
捐贈 VP 給 SAM 檢舉此回應
查了一下…mdb是access的吧?
你用sqldatasource應該就要用sql server啊…怎麼會是mdb?
你在下面就出錯了…請改成用sql的資料庫連線吧。
Dim ads As New SqlDataSource("~/App_Data/Form_db.mdb", "SELECT * FROM 表單 where 表單.自動編號 = ? " & Request.QueryString("no"))


本篇文章回覆於2009-10-08 10:20
--未登入的會員無法查看對方簽名檔--
11樓
最有價值解答

麥穗
檢舉此回應
問題出現在連線時
try this





本篇文章回覆於2009-10-08 10:46
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

阿D
捐贈 VP 給 阿D 檢舉此回應
我改成以下,測式OK了!! 感謝各位大大提供寶貴的知識!!





本篇文章回覆於2009-10-08 11:57
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.