Dim strConnection,conn,rs,strSQL,objCommand,param strConnection =“Driver = {Oracle ODBC Driver}; Data Source = DSNNAME; User ID =用户名;密码=密码;” 设置conn = CreateObject(“ADODB.Connection”) conn.Open strConnection
Dim cmdInsert As ADODB.Command
Set cmdInsert = New ADODB.Command
cmdInsert.ActiveConnection = conn
cmdInsert.CommandText = "sp_ins_test"
cmdInsert.CommandType = 4
cmdInsert.Parameters.Refresh
Set param = cmdInsert.Parameters
param.Append cmdInsert.CreateParameter("v_BG_EI_DEFECT_TYPE", 200, 1, 100, "abc")
param.Append cmdInsert.CreateParameter("v_BG_EI_APP_ID", 3, 1, 8, 1)
param.Append cmdInsert.CreateParameter("v_BG_DETECTION_DATE", 133, 1, 100, 8/6/2010)
cmdInsert.Execute
它将错误作为字符转换为数字转换错误,但我传递给了 代码是3表示整数(但数据类型是数据库中的数字)并且还传递日期
请告诉我如何在oracle中传递参数到date和number数据类型。
答案 0 :(得分:1)
我至少可以看到这些问题:
As ADODB.Command
和New ADODB.Command
是非法的;这些仅在VB中有效。请改用CreateObject
。8/6/2010
不是有效的日期文字,它是一个整数表达式,评估的值非常小(几乎为0);请改用#8/6/2010#
。我希望这会有所帮助。
答案 1 :(得分:0)
您将空strings
传入参数。