台灣最大程式設計社群網站
線上人數
1050
 
會員總數:244666
討論主題:188768
歡迎您免費加入會員
討論區列表 >> MS SQL >> [SQL]Recordset的Addnew方法
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[SQL]Recordset的Addnew方法
價值 : 0 QP  點閱數:5921 回應數:17

樓主

小賴
初學者
466 138
240 91
發送站內信

元程式碼如下.....

rsa.CursorLocation=2
rsa.AddNew "inpaperno","test"
rsa.update

卻出現錯誤訊息....

ADODB.Recordset (0x800A0CB3)
物件或提供者無法執行要求的操作。
/file/addnewpaper.asp, line 13


請問....ASP不能使用AddNet方法ㄇ

本篇文章發表於2002-04-11 10:59
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

LetGo
檢舉此回應
試試看把 CursorLocation 改成 3

rsa.CursorLocation=3

本篇文章回覆於2002-04-11 12:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小賴
檢舉此回應
一樣不行....
但是我把
rsa.lockType=3
會有下列錯誤訊息

錯誤類型:
ADODB.Recordset (0x800A0C93)
在這個範圍中不允許操作。
/file/addnewpaper.asp, line 39
本篇文章回覆於2002-04-11 13:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小岐
檢舉此回應
可不可以把整段程式都貼上來,因為只看這一段無法找出原因!!
本篇文章回覆於2002-04-11 13:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小賴
檢舉此回應
set cnA=server.createobject("ADODB.Connection")
set rsA=server.createobject("ADODB.Recordset")
cnA.ConnectionString=Application("strConn") '連線字串
cnA.open
rsA.open "Select * from Table1 where 1=2",cnA
rsa.CursorLocation=2
rsa.AddNew "inpaperno","test"
rsa.update
本篇文章回覆於2002-04-11 14:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

胎疼喵
檢舉此回應
拿掉 where 1=2 試試看~
本篇文章回覆於2002-04-11 15:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

小賴
檢舉此回應
沒有用歐.....他根本不讓我使用這指令
本篇文章回覆於2002-04-11 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

小賴
檢舉此回應
不信........你們可以試試看....
我是會用
cnA.Execute "insert into TableName(....) Valuse(....)"
但...因為特殊理由...我想要用
rsA.Addnew
rsa.fields("XXX")="XXXX"
.
.
rsa.Update
本篇文章回覆於2002-04-11 17:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
這是我以前寫好玩的 sample code(僅擷取一小部份) , 是可以work的, 請您自己改一改

Sub insrec()
Dim RS
Set RS=Server.CreateObject("ADODB.Recordset")

RS.ActiveConnection=Conn
RS.CursorType=1 'adopenkeyset
RS.Source="SELECT * FROM tblMember WHERE 1=2"
RS.LockType=3 'adLockOptimistic
RS.Open

RS.AddNew
RS("vch_Name")=strName
RS("vch_Password")=strPWD
RS("vch_Sex")=strSex
RS("vch_Tel_Area")=strTel_Area
RS("vch_Tel")=strTel
RS("vch_City")=strCity
RS("vch_Address")=strAddress
RS("vch_Love")=strLove
RS("dt_Birthday")=strBirthday
RS("i_Age")=strAge


RS.Update


End Sub
本篇文章回覆於2002-04-11 17:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

α
檢舉此回應
您好:

請把
rsA.open "Select * from Table1 where 1=2",cnA

改成
rsA.open "Select * from Table1 where 1='2'",cnA

試試看。 ^_^
本篇文章回覆於2002-04-11 17:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

arlen
檢舉此回應
如果你用的是sql server數據庫的話,看看你的表建了 主鍵 沒有!
因爲sql server 的表沒有主鍵的話,是插不進去的!



《還不行的話》或是改為:
rsa.AddNew 
rsa(1)="inpaperno"
rsa(2)="test"
rsa.update
本篇文章回覆於2002-04-11 17:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

ㄚ寶
檢舉此回應
set cnA=server.createobject("ADODB.Connection")
set rsA=server.createobject("ADODB.Recordset")
cnA.ConnectionString=Application("strConn") '連線字串
cnA.open
rsA.open "Select * from Table1 where 1=2",cnA
rsa.CursorLocation=2
rsa.AddNew "inpaperno","test"
rsa.update

為什麼 1=2 呢....??

改成:
set cnA=server.createobject("ADODB.Connection")
set rsA=server.createobject("ADODB.Recordset")
cnA.ConnectionString=Application("strConn") '連線字串
cnA.open
rsA.open "Select * from Table1",cnA,1,3
rsa.AddNew "inpaperno","test"
rsa.update

試試看.......^^
本篇文章回覆於2002-04-12 00:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
ㄚ寶,
加上 where 1=2 是因為我們只想取得一個空的recordset,若您沒有加, 且該table有100萬筆記錄, 實在不必為了要新增一筆, 將所有記錄都取回, 若table中筆數少, 你可能沒有特別感覺
本篇文章回覆於2002-04-12 09:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

小賴
檢舉此回應
我知道原因了......
是因為資料庫結構的關係....但還在找
我重新建一個資料庫...沒問題
但是我現在要操作的是舊有的資料庫.....現在正在找尋到底資料庫出了什麼問題
本篇文章回覆於2002-04-12 10:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

小賴
檢舉此回應
加入主鍵為自動新增序號的就可以用了...........應該說..加入主鍵就可了....
本篇文章回覆於2002-04-12 11:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

Pighead
檢舉此回應
   在Web 上,不建議再去用以前的方式去做 增,修,刪.. 例如Rs.AddNew 之類的
本篇文章回覆於2002-04-12 13:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

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