看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《phi12345 (鮪魚、柚子、Stanley)》之銘言: : 目前我在 week_add_news.asp : 裡面設了 : set rs=server.CreateObject("ADODB.Recordset") : sql = "select * from c_week" : rs.open sql,conn,1,3 : rs.addnew : response.write rs("sid") : rs("t_name")=t_name : rs("t_wname")=t_wname : rs("s_pic")=s_pic : rs("r_name")=r_name : rs("t_time")=t_time : response.write rs("rid") : response.write rs("pid") rs.addnew的用法我很不熟. 稍微記得是: rs.addnew '... 在此對 rs 增添一些資料 rs.update '要下這一行命令,以上的資料增添才會生效 : 但是新增資料時~跑到 sid rid pid 都會出現錯誤~@@ : 我改成 response.write rs("sid") : response.write rs("rid") : response.write rs("pid") : 出現 無法插入 NULL 值到資料行 'pid',資料表 'xxx.dbo.c_week'; : 資料行不得有 Null。INSERT 已經失敗。 這裏我想合理的解釋是: response.write rs("sid") 是從 rs 目前一列 的 sid 欄位取資料. 而你把這一行寫在 rs.addnew 的範圍內,表示 資料還沒添進去,就要它把資料印出來. 因為沒有給資料,所以它試著給 Null,然後根據欄位屬性判斷出無法添Null值進去. (這是自己一腳被另一腳絆到啊!) : 用 rs("sid")=sid : 會出現 : 這個錯誤 : (80040e21)多重步驟操作發生錯誤 : 這是哪裡的問題@@? 「多重步驟操作發生錯誤」以下網頁有這樣的解釋: http://www.adopenstatic.com/FAQ/80040e21.asp 這個毛病是當你把超過欄位量的資料塞進去而造成的. 例如把20字元資料塞進varchar(10)中,或是把超過二的指數15 的大整數塞進整數欄位. 照理說, rs("sid") = sid 這個動作合理,但就要看sid是不是合格的值. ASP有些變數轉型會不小心轉成字串,會不會是這個原因? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.112.24