OracleDataAdapter的Fill方法

Z_Lacey 2012-03-21 02:42:19
public DataSet GetDs()
{
DataSet ds = new DataSet();

string sql = @"select p.provincename,c.cityname,a.areaname from area a
left join city c on a.cityid=c.cityid
left join province p on a.provinceid=p.provinceid
where rownum<11;";
string connStr = "。。。";

OracleConnection conn = new OracleConnection(connStr);
conn.Open();

OracleDataAdapter da = new OracleDataAdapter(sql, conn);

da.Fill(ds, "");
conn.Close();
return ds;
}
我在da.Fill(ds,"");中的字符串应该输入什么?我给area、city、province数据源,都提示是无效字符,给空字符串就报'Fill: 应当为 SourceTable 名称输入一个非空字符串。'错误。。。。。
...全文
338 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Z_Lacey 2012-03-21
  • 打赏
  • 举报
回复
呵呵,找到原因了。 把sql语句中最后的分号去掉就可以了。。。 郁闷!
Z_Lacey 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chinajiyong 的回复:]
da.Fill(ds)这样的话就按下标来找表,ds.Tables[0]代表第一个表
[/Quote]

竟然无法找到表。。。。
我之前写过一个例子是这样:
public DataSet GetDs()
{
DataSet ds = new DataSet();
string sql = "select * from ADDRESSTOMAILINGDEP";
string connStr ="。。。";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
OracleDataAdapter da = new OracleDataAdapter(sql, conn);
da.Fill(ds, "ADDRESSTOMAILINGDEP");
conn.Close();
return ds;
}这样是可以的。 但是帖子的这个数据源是连接查询,不知道应该输入什么。
Z_Lacey 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chinajiyong 的回复:]
引用 1 楼 chinajiyong 的回复:

da.Fill(ds,"")表名

da.Fill(ds)直接这样
[/Quote]

da.Fill(ds);这样也不行啊。也是报无效字符的错误。。。
EnForGrass 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chinajiyong 的回复:]

引用 1 楼 chinajiyong 的回复:

da.Fill(ds,"")表名

da.Fill(ds)直接这样
[/Quote]
da.Fill(ds)这样的话就按下标来找表,ds.Tables[0]代表第一个表
EnForGrass 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chinajiyong 的回复:]

da.Fill(ds,"")表名
[/Quote]
da.Fill(ds)直接这样
EnForGrass 2012-03-21
  • 打赏
  • 举报
回复
da.Fill(ds,"")表名
需要.net4平台,引用之后,访问工具类示例: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Security.Cryptography; using System.IO; using Oracle.ManagedDataAccess.Client; namespace DBconnection { public class DBHelper { /// /// 读取数据库连接 /// public static readonly string OracleConnectionStr = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.9.211)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=HIS)));Persist Security Info=True;User ID=ZLHIS;Password=o15ntu;"; /// /// 集合查询:在此完成所有的集合类型查询 /// /// 查询语句 /// 结果集合 public static DataSet OracleFillTable(string sqlQuery) { using (OracleConnection con = new OracleConnection(OracleConnectionStr)) { //创建数据适配器,将查询语句及连接字符串两个参数传进数据适配器 con.Open(); OracleCommand cmd = con.CreateCommand(); cmd.CommandText = sqlQuery; //新建一个表格对象dt,用来获取查询的数据 DataSet ds = new DataSet(); try { //填充表格 OracleDataAdapter oda = new OracleDataAdapter(cmd); oda.Fill(ds); //如果查询无误,则返回查询出的数据 return ds; } catch { //执行查询出现错误,返回null值 return null; } finally { //主动销毁所用的资源 ds.Dispose(); cmd.Dispose(); // 关闭连接 con.Close(); } } } /// /// 集合查询:在此完成所有的集合类型查询 /// /// 查询语句 /// 结果集合 public static string OracleGetTable(string sqlQuery) { string result = null; try { using (OracleConnection con = new OracleConnection(OracleConnectionStr)) { OracleCommand cmd = con.CreateCommand(); try { con.Open(); cmd.CommandText = sqlQuery; try { //执行sql语句 result = cmd.ExecuteScalar().ToString(); } catch { result = "-1"; } } catch (Exception e) { throw new Exception("数据库连接出现错误!"); } finally { //主动销毁资源 cmd.Dispose(); // 关闭连接 con.Close(); } } } catch (Exception e) { // MessageBox.Show(e.ToString()); } return result; } } }

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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