作者weinine32 (孤僻寂寞)
看板C_Sharp
标题[问题]用ASP.NET读Oracle的问题
时间Sat May 31 23:55:32 2008
*********
以下是我建立临时资料表的指令
CREATE GLOBAL TEMPORARY TABLE START
{
S1 NUMBER,
S2 NUMBER
}
我用Oracle SQL Developer 测试结果是
不同的人同时连线进去 资料表存在, 但资料会是空的
Insert进去後的资料 只有自已看得到,结束连线後,
再回去後,也会是空的
********
最近在写一个支程式
当使用者输入 起迄点的座标後
就会依照使用者输入的起迄点座标
把起点50公尺内有什麽公车站牌,Insert到 START 这个临时资料表
把迄点50公尺内有什麽公车站牌,Insert到 END 这个临时资料表
然後再做Select 把临时资料表内的资料捞出来
Begin
Insert Into START select 站牌名称 FROM 站牌资料表;
Insert Into END select 站牌名称 FROM 站牌资料表;
End;
Select * From Start, END
但是我发现 BEGIN 和 SELECT 无法同时执行,
也就是说要先执行 Begin end; 再执行 Select 才行
当我把它写入 ASP.NET 用DataReader 执行这二段要分开写,写在一起会出错
**********以下程式出错***********
string SQL1 = "Begin (略) END; Select * From START, END ";
OracleCommand cmd1 = new OracleCommand(SQL1, conn);
OracleDataReader objRead = cmd1.ExecuteReader();
**********以上程式出错**************
*********以下程式可以正常执行**********
string SQL1 = "Begin (略) END;"
OracleCommand cmd1 = new OracleCommand(SQL1, conn);
cmd1.ExecuteNonQuery();
string SQL2 = "Select * from START, END ";
cmd1.CommandText=orstrSQL2;
OracleDataReader objRead = cmd1.ExecuteReader();
虽然可以正常执行 但已经被Oracle试做二次连线
无法Select到 SQL1的执行结果
但我的OracleConnection 和 OracleCommad 是同一个物件了阿
***************************************
这问题困扰了很久 希望有人可以为我解答
无以回报 只有我少少的 5000P币
因为不知道要PO在哪个板比较洽当
所以同一篇文章PO在 DATABASE和C#板
如不洽当请告知
我会自D
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.31.170
1F:推 sheauren:你是不是应该用storeprocedure写好在call了? 06/01 01:01
2F:→ sheauren:出现begin/end 你把它包成store procedure会比较好维护 06/01 01:02