关于VS.NET的OracleClient类库的两个大BUG,没想到微软支持ORACLE这么差!!!!

death0320 2004-04-30 11:15:59
第一个:
我在用Asp.NET(C#)写操作Oracle数据库的程序时,如果用OracleClient的时候就会出现一个很奇怪的问题,那就是不管我是用DataSet或是OracleDataReader读出一个表中的数据时,只要有记录在同一字段的时候有重复的情况下,我在DataGird中就看到在第一条记录的时候,想同内容字段的值是完整的,可是如果第二条记录就会发现比前一条相同字段记录少一半。有时有很多一样的时候,一半的后面还有一些随机的字符,可是用oleDB就没有这个问题,感觉这是VS.NET的BUG。情况如下:

id name sex birth
1 xxxxxxxx M 19990303
2 xxxx M 1999
3 xxxxC:| M 1999k;k

就如同上面的样子一样,用oleDB用就可以显示正常。大家有没有这种情况,可以试试看。
第二个:
我发现当操作存储过程的时候,出现问题了。我的存储过程如下:
create or replace procedure gettaskid(taskid out varchar2,tasktype in varchar2) is
v_maxtaskid varchar2(14);
v_currentdate varchar2(8);
begin
select to_char(sysdate,'yyyymmdd') into v_currentdate from dual;
select max(task_id) into v_maxtaskid from d_ent_task where task_type = tasktype and to_char(task_date,'yyyymmdd') = v_currentdate;
if v_maxtaskid is null then
taskid := v_currentdate||'000001';
else
taskid := to_char(to_number(v_maxtaskid) + 1);
end if;

end gettaskid;
功能就是得出一个序号。用以下代码出错怎么也没有用,得出来的值还是上面存储过程if中的值,不会自己加1。
public string ExecProc(string myType)
{
string temp="";
conn=DBConnect.GetConnection();
cmd=conn.CreateCommand();
cmd.Connection=conn;
cmd.CommandText="gettaskid";
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("taskid",OracleType.VarChar,14);
cmd.Parameters["taskid"].Direction=ParameterDirection.Output;
cmd.Parameters.Add("tasktype",OracleType.VarChar,2);
cmd.Parameters["tasktype"].Direction=ParameterDirection.Input;
cmd.Parameters["tasktype"].Value="04";
conn.Open();
cmd.ExecuteNonQuery();
temp=(string)cmd.Parameters["taskid"].Value;
conn.Close();
return temp;
}
如果换成OleDb来做就能得出加1后的值。

唉~~~~没想到微软竟对Oracle支持的这么差。
...全文
120 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
deanzheng 2004-06-17
楼主老大:你是怎么连接oracle的,可否告知,谢谢!
我已经搞了好几天了,可还连不上数据库,甭说发现bug了。
你的数据库是在本机还是服务器,如果是在服务器上,请指教如何连接。
万分感谢
email:zhengxf@trane.com
msn:kaisa_z@hotmail.com

盼望您的答复
  • 打赏
  • 举报
回复
xiangding 2004-06-17
不会的,看看你程序吧,
一般来说这是小东东,不会有这样的bug的
  • 打赏
  • 举报
回复
vzxq 2004-04-30
nod ,什么中国也能出个 oracle 或 mircorsoft 啊
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-04-30 11:15
社区公告
暂无公告