Database 板


LINE

※ 引述《pabeni (真兒)》之銘言: : 問題困擾很久... ... : 也有好心的大大幫我指點迷津... : 不過資質駑鈍... : 還請各位豪傑, 給我一點建議... : 問題是這樣的~ : 要怎麼將 資料表某欄位的內容傳回給ADO端~ : 這個某欄位的內容是 "nvarchar"~~~ : 問題是這樣出現的... : 我的資料表有一個欄位叫做steplist~ : 在MFC裡面的ADO裡會讀取 一個整數, : 這個整數表示的是 資料表裡面的第幾筆資料~ : MFC將這個整數傳入SQL裡面~ : 然後得到那筆資料的steplist~~~ : 可是 steplist就是傳不回MFC那裡... : 資料表的steplist 長像大概是這樣 -1, 180, 179, 168... : 我是用SQL Server~ : 預存程序是這樣... : set ANSI_NULLS ON : set QUOTED_IDENTIFIER ON : GO : ALTER PROCEDURE [dbo].[sp_SCB] : (@InputIndex int) //從MFC那裡傳進的資料的代碼 其實就是流水號 : AS : BEGIN : declare @outsteplist nvarchar(max) : Select @outsteplist = StepList From CMR //列出steplist, : Where RecordID = @InputIndex //當MFC得到的整數 : return @outsteplist //等於 資料表的ID : END 在StoreProcedure裡面 有三種回傳的方式 return 我的印象中只能傳整數 告知此預存程序的執行結果是否成功 (有錯請前輩指正) 要回傳變數的話,可以將變數設為output形式 並且在ADO.NET處宣告SqlParameter的時候標示此參數為output 如此便可在執行完此預存程序後取得此變數的內容 大致的寫法為: SQL ================================================== ALTER PROCEDURE [dbo].[sp_SCB] ( @InputIndex int, @outsteplist nvarchar(max) output ) AS BEGIN --在此處賦值予@outsetlist END ASP.NET ================================================== SqlCommand com = new SqlCommand("sp_SCB"); com.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter[] pars = new SqlParameter[2]; pars[0] = new SqlParameter("@InputIndex", 2); pars[1] = new SqlParameter("@outsteplist", SqlDbType.NVarChar); pars[1].Direction = ParameterDirection.Output; com.Parameters.AddRange(pars); com.ExecuteNonQuery(); return pars[1].Value; //對output的值做操作 如此可使用output的方法取得回傳值 ================================================================== 不過比較單純的方法其實直接在預存程序裡面 SQL ===== BEGIN Select StepList From CMR Where RecordID = @InputIndex END ASP.NET ======= SqlCommand com = new SqlCommand("sp_SCB"); com.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter[] pars = new SqlParameter[1]; pars[0] = new SqlParameter("@InputIndex", 2); com.Parameters.AddRange(pars); string szResult = com.ExecuteScalar().ToString(); 直接用回傳資料行的方法取得資料就好 其實大部分向透過預存程序像資料庫要資料的時候 都是直接用Select 然後再看伺服器端要用DataSet還是用ExecuteScalar去取資料而已 以上有錯誤的地方請前輩指正 -- --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.150.123
1F:推 pabeni:先謝謝你給我的方向, ASP不等於ADO吧? 10/04 23:20
2F:推 yumark:ASP和ADO是不同東西,可以拿本ASP.NET書看看幾都有講解ADO 10/05 00:11







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP