C#的oracle查询问题

li1981 2009-06-23 02:22:48
请各位帮忙
我想把oracle里查询结果输出到listbox里,代码如下,但是执行时报da.Fill(ds);有错,不知是哪里出了问题
//本机连接oracle,我想把表PV里的pv列输出到listbox里
public class ConnDb
{
OracleConnection conn = null;
public ConnDb()
{
if (conn==null)
{
conn = new OracleConnection();
conn.ConnectionString="data source=host;user id=system;password=system;";
}
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
}
public DataSet query(string sql)
{
DataSet ds = new DataSet();
OracleDataAdapter da = new OracleDataAdapter(sql,conn);
da.Fill(ds);
connClose();
return ds;
}
public void connClose()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
void Button1Click(object sender, EventArgs e)
{
string sql = string.Format("select * from PV;");
DataSet ds = new ConnDb().query(sql);
this.listBox1.DisplayMember = "PV";
this.listBox1.DataSource=ds.Tables[0];
}
...全文
78 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallvisitor 2012-03-02
  • 打赏
  • 举报
回复
string sql = string.Format("select * from PV;");

其中:select * from PV;不能有分号。
beifang1986 2009-06-27
  • 打赏
  • 举报
回复
UP
feifeiyaqi3 2009-06-27
  • 打赏
  • 举报
回复
1. 这个代码没有问题

2. 连接看看


3. 跟踪下

智商无下限 2009-06-27
  • 打赏
  • 举报
回复
把语句放到SqlEditPlugs 试试。看看有没有输出结果。

顺便转一下SqlEditPlugs 的地址
================================================================================
如果你经常书写Sql语句,如果你经常在多种数据库间切换。欢迎使用SqlEditPlugs。
详细描述www.i5iw.com 截图 http://218.25.154.154:8081/imgShow/index.html
欢迎加入 QQ群 :88725010 欢迎讨论,欢迎共同开发
li1981 2009-06-24
  • 打赏
  • 举报
回复
我加上OracleCommand还是报错,连接数据库应该没有问题
楼上的能否将代码发出来,我对比下,谢谢
li1981 2009-06-24
  • 打赏
  • 举报
回复
建pv表的脚本
create table PV
(serial number(3),
pv varchar(10),
ldev varchar(5),
lsize number(5,2),
pg varchar(5),
raid varchar(15),
storage varchar(10))
tablespace test;

就一条语句select * from pv ,难道是数据格式不兼容?
yzy8788 2009-06-24
  • 打赏
  • 举报
回复
那应该就是你的sql语句有问题了吧?
li1981 2009-06-24
  • 打赏
  • 举报
回复
执行时报da.Fill(ds)有错
错误提示ORA-00911:无效的字符\n
谁能帮忙看下,怎么修改
ljhcy99 2009-06-23
  • 打赏
  • 举报
回复
应该是你的连接串有问题,我加上SQlCommand,我用sql数据库测试ok的。
li1981 2009-06-23
  • 打赏
  • 举报
回复
我按你写的试了,还是报一样的错,这是为什么!__!
public DataSet query(string sql)
{
OracleCommand ocmd = new OracleCommand(sql,conn);
OracleDataAdapter da = new OracleDataAdapter(ocmd);
DataSet ds = new DataSet();
da.Fill(ds);
connClose();
return ds;
}


[Quote=引用 3 楼 yzy8788 的回复:]
楼主这个写的怎么有点别扭啊
貌似是没看到OracleCommand这样的东西,不知道不用这个是不是也可以。

C# code
OracleCommand ocmd = new OracleCommand(sql,conn);
OracleDataAdapter oda = new OraclDAtaAdapter(ocmd);
oad.fill(ds);



要不这样试试咧
[/Quote]
yzy8788 2009-06-23
  • 打赏
  • 举报
回复
楼主这个写的怎么有点别扭啊
貌似是没看到OracleCommand这样的东西,不知道不用这个是不是也可以。

OracleCommand ocmd = new OracleCommand(sql,conn);
OracleDataAdapter oda = new OraclDAtaAdapter(ocmd);
oad.fill(ds);

要不这样试试咧
gciyfzx07 2009-06-23
  • 打赏
  • 举报
回复
应该少了一个OracleCommand吧
li1981 2009-06-23
  • 打赏
  • 举报
回复
在线等回复

110,539

社区成员

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

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

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