C#中如何把Oracle数据库查询的结果集返回

小弟刚学C#操作Oracle是这样的:publicStringConnole(Stringtxtcomm){Read();Stringtxtco="provider=MS... 小弟刚学C#操作Oracle是这样的:
public String Connole(String txtcomm)
{

Read();
String txtco = "provider = MSDAORA.1 ;Data Source= '" + this.server + "' ; " +
"Password= '" + this.password + "' ;User ID= '" + user + "' ;Unicode=True ";

OleDbConnection Conn = new OleDbConnection(txtco);

OleDbDataAdapter Daper = new OleDbDataAdapter(txtcomm, Conn);

DataTable Dta = new DataTable();

Daper.Fill(Dta);

return Dta.ToString();

}

上面是写的一个连接数据库的类(Class1)的一个方法(封装成Dll),然后我想在窗体中进行调用实现:传入Sql语句返回查询的结果集。代码如下:
public Conndll.Class1 Conne = new Class1();

public DataTable dt = new DataTable();
private void button1_Click(object sender, EventArgs e)
{
this.dt = Conne.Connole("Select * from b.c");//调用Dll
if (this.dt.Rows.Count > 0)
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("NO");
return;
}
可是调用的时候报错:无法将类型String隐式的转换为System.Data.DataTable
请问:怎么修改上面的代码能够实现上面的功能?传入Sql语句返回查询的结果集代码。急用呀帮帮忙呀!!!
展开
 我来答
帐号已注销
高粉答主

2020-12-05 · 每个回答都超有意思的
知道答主
回答量:2169
采纳率:0%
帮助的人:33.2万
展开全部

1、首先通过DLL方式进行连接数据库, 也是一个比较通用的方式,项目引入后,即可使用,非常方便,使用之前如有把封装的DLL文件引入自己的项目中,项目里就可以直接调用。

2、可以通过System.Data.oracleClient方式进行连接数据库,查询相关数据,连接前需要在oracle客户端进行配置连接数据服务地址(tnsnames.ora)。

3、也是通过System.Data.oracleClient方式进行连oracle数据库,但是不要进行配置tnsnames.ora文件。

4、最后还可以通过ODP方式进行连接oracle数据库,odp是oracle公司提供的数据库访问类库,如下图所示就完成了。

TableDI
2024-07-18 广告
作为上海悉息信息科技有限公司的工作人员,我们可以采用以下方法来匹配两个Excel表格中的数据:1. **使用VLOOKUP函数**:在目标单元格中输入VLOOKUP函数,并设置正确的参数,包括要查找的值、查找区域、返回值的列号和是否启用近似... 点击进入详情页
本回答由TableDI提供
悉仲zk
推荐于2016-09-04 · 超过26用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:69.2万
展开全部
return Dta.ToString();
会把Dta的类型转化为一个字符串输出,你再将字符串赋给DataTable,当然会报错。把前面函数返回值设成DataTable,返回是dta,不是dta.tostring()

public DataTable Connole(String txtcomm)
{
//这里省略
return Dta ;

}
报错的时候要常试去理解一下错误信息,String隐式的转换为System.Data.DataTable,说明程序中你有将String 类型的变量赋给DataTable
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
推荐于2018-05-12 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5436万
展开全部
你的方法返回类型写错了,改成这样:
public DataTable Connole(String txtcomm)
{
....

return Dta;

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式