ADODB.Recordset addnew包含Oracle包字段

时间:2014-11-11 12:40:49

标签: oracle vb6 ado recordset

嗨伙计们。 我有一个带有Oracle DB的visual basic 6程序。当我向表格添加记录时,我会这样做:

Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("Title") = "Titolo"
Adodc1.Recordset.Fields("Author") = "Autore"
Adodc1.Recordset.Fields("IP") = "10.0.1.1"
Adodc1.Recordset.Update

这个例程没问题,但我想用oracle函数设置IP: sys_context('USERENV','IP_ADDRESS')

当我在

中修改了我的例程
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("Title") = "Titolo"
Adodc1.Recordset.Fields("Author") = "Autore"
Adodc1.Recordset.Fields("IP") = "sys_context('USERENV','IP_ADDRESS')"
Adodc1.Recordset.Update

表的字段始终为null。 有这个问题的解决方法吗? 提前致谢

1 个答案:

答案 0 :(得分:1)

我认为简单的答案是你不能这样做。在编写时,您将固定字符串'sys_context('USERENV','IP_ADDRESS')'分配到'IP'字段。

要使用该函数,您必须构造一个INSERT语句并直接执行它。想想

INSERT INTO your_table(标题,作者,IP) SELECT'Titolo','Autore',sys_context('USERENV','IP_ADDRESS')

或者你可以创建一个存储过程并执行它(从长远来看可能更好)