这段代码连sqlserver数据库没问题,连oracle数据库存储过程不成功,求解 Dim myconnection As OracleConnection
Dim strsql = "User ID=card;Password=card;Data Source=orcltest"
myconnection = New OracleConnection(strsql)
myconnection.Open()
Dim oraclecomm As OracleCommand = Nothing
oraclecomm = New OracleCommand("trans", myconnection)
oraclecomm.CommandType = CommandType.StoredProcedure
oraclecomm.Parameters.Add("cardno", OracleType.VarChar) oraclecomm.Parameters("cardno").Value = "889900" Dim da1 As New OracleDataAdapter()
da1.SelectCommand = oraclecomm
Dim ds As New DataTable()
da1.Fill(ds)
Dim strsql = "User ID=card;Password=card;Data Source=orcltest"
myconnection = New OracleConnection(strsql)
myconnection.Open()
Dim oraclecomm As OracleCommand = Nothing
oraclecomm = New OracleCommand("trans", myconnection)
oraclecomm.CommandType = CommandType.StoredProcedure
oraclecomm.Parameters.Add("cardno", OracleType.VarChar) oraclecomm.Parameters("cardno").Value = "889900" Dim da1 As New OracleDataAdapter()
da1.SelectCommand = oraclecomm
Dim ds As New DataTable()
da1.Fill(ds)
Dim strsql = "User ID=card;Password=card;Data Source=orcltest" 'OK测试大机
myconnection = New OracleConnection(strsql)
myconnection.Open()
Dim oraclecomm As OracleCommand = Nothing
oraclecomm = New OracleCommand("trans", myconnection)
oraclecomm.CommandType = CommandType.StoredProcedure
oraclecomm.Parameters.Add("cardno", OracleType.VarChar, 50)
oraclecomm.Parameters("cardno").Direction = ParameterDirection.Input
oraclecomm.Parameters("cardno").Value = "889900" Dim da1 As New OracleDataAdapter()
da1.SelectCommand = oraclecomm
Dim ds As New DataTable()
da1.Fill(ds)
(
mcht in varchar,
sett in varchar,
startcardno in varchar,
endcardno in varchar,
tx_code in varchar,
banlace in varchar,
startdate in varchar,
enddate in varchar,
traceno in varchar,
batchno in varchar,
termid in varchar,
document in varchar,
cardhold in varchar,
lxname in varchar,
telphone in varchar,
gkdate in varchar,
pagesize in number,
currpage in number,
recordcount out number
)
as
strsql varchar(1000);
v_con number(8);
pragma AUTONOMOUS_TRANSACTION;
begin
recordcount:=888;
strsql:=' where merch_id=mcht and sett_postdate>=to_char(startdate) and sett_postdate<=to_char(enddate)';
if length(startcardno)>0 and length(endcardno)>0 then
strsql:=strsql||' and cardno>=startcartno and cardno<=endcardno';
end if;
execute immediate 'select count(*) from partranslog' || strsql into recordcount using mcht,startdate,enddate;
update proce set name=recordcount;
end trans;
/这一句没执行,为什么,求解execute immediate 'select count(*) from partranslog' || strsql into recordcount using mcht,startdate,enddate;