SYBASE与OleDbDataAdapter

msnadair 2008-12-17 07:58:52
在使用OleDbDataAdapter从SYBASE中取数据时,进度陷入了iCount = objOleDbDataAdapter.Fill(objDataSet, tableName);

外面有TRY语句,程序执行到此处时,即不往下执行,也不报错。

闷。。。更新,插入,删除操作都能成功,这说明数据库是连接成功的。请大家不要往数据库连接的问题上来想。

高手请帮忙回答一下。谢谢!!!

解决此问题的朋友100分相送。。。
谢谢!!!

附代码:
public int LoadDataSetFromSYBASE(string sql, string tableName, ref DataSet objDataSet)
{
this.sybase_Connect();
int iCount = -1;

OleDbDataAdapter objOleDbDataAdapter = new OleDbDataAdapter(sql, this.sybase_con);
try
{
iCount = objOleDbDataAdapter.Fill(objDataSet, tableName);
}
catch(Exception e)
{
throw (new Exception("Error in LoadDataSetfromSYBASE method. " + e.Message));
}
finally
{
this.sybase_Disconnect();
}

return iCount;
}
...全文
105 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
msnadair 2008-12-27
  • 打赏
  • 举报
回复
换个方法,使用AseConnection. Sybase自带的ADO.NET操作类.
msnadair 2008-12-18
  • 打赏
  • 举报
回复
怎么没人知道?
为有一个排错方案???
msnadair 2008-12-18
  • 打赏
  • 举报
回复
SYBASE不支持OLEDB连接? 不对呀!网上都有介绍OLEDB连接SYBASE。
qinhl99 2008-12-18
  • 打赏
  • 举报
回复
你这问题奇怪的很啊,昨晚我查了好久都没有找到有帮助的资料
msnadair 2008-12-17
  • 打赏
  • 举报
回复
对了,使用OleDbDataReader 好像关闭不了数据库。
public void LoadDataFromSYBASE(string sql,object obj)
{
using (OleDbConnection connection = new OleDbConnection(sybase_ConnectionString))
{
OleDbCommand command = new OleDbCommand(sql, connection);

connection.Open();
OleDbDataReader reader = command.ExecuteReader();

reader.Read();
obj=reader[0];
reader.Close();
}
}
这个方法后面的语句不会执行。单步执行到了reader.close()处。
再单步就执行不下去。调用这个方法的语句后面的语句也设了断点,程序没有跑到那断点处去。
msnadair 2008-12-17
  • 打赏
  • 举报
回复
我试过OleDbDataReader 是可以的。

但是我现在需要使用OleDbDataAdapter
qinhl99 2008-12-17
  • 打赏
  • 举报
回复
你用OleDbDataReader看有没有问题!
msnadair 2008-12-17
  • 打赏
  • 举报
回复
最好有朋友在代码中有使用过SYBASE数据库操作。 只是停留在ORACLE或MS SQL的思想上只会空谈
msnadair 2008-12-17
  • 打赏
  • 举报
回复
在网上找都找不到有关OleDbDataAdapter读取SYBASE数据库数据的例子。
在网上搜了一下,有几个朋友也碰到我这种情况。却没人解决得了。
闷呀! 怎么可能。。。怎么会有解决不了的问题,即使使用这种方法不行,也得有个理由呀!
lvfeng180 2008-12-17
  • 打赏
  • 举报
回复
重启数据库服务器
qinhl99 2008-12-17
  • 打赏
  • 举报
回复
很奇怪啊
wuyq11 2008-12-17
  • 打赏
  • 举报
回复
objOleDbDataAdapter.Fill(objDataSet, tableName);
wuyq11 2008-12-17
  • 打赏
  • 举报
回复
out DataSet objDataSet
msnadair 2008-12-17
  • 打赏
  • 举报
回复
sql="select companyid from company where remark1='401'";
数据库里面只有一条记录符合。
我用过这条语句直接在SYBASE数据库里操作,能够取出那一条数据。
wuyq11 2008-12-17
  • 打赏
  • 举报
回复
是否是内容太多或并发问题
调试看看sql
msnadair 2008-12-17
  • 打赏
  • 举报
回复
我就单步进去了,单步到这里就不执行了。既不报错也不往下执行。数据库里只有20条不到的数据。用户也就我一个人在连接。
heyu1000 2008-12-17
  • 打赏
  • 举报
回复
不是很清楚,帮顶一下,也许发现新大陆了,呵呵
是不是数据库里的数据比较多,你用这个SQL直接在数据库里面执行一下看速度如何?
wuyi8808 2008-12-17
  • 打赏
  • 举报
回复
单步执行看看,应该不会停在这里的。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧