首页新闻找找看学习计划

Ado.Net 访问oracle数据库,编写多条查询语句

0
悬赏园豆:30 [待解决问题]

在C#代码中

commandText.AppendFormat(@"select CompanyName,CompanyCode,logo from Sys_Company where companyid={0}; ", dbHelper.GetParameter("CompanyId"));
commandText.AppendFormat(@"select CompanyName,CompanyCode,logo from Sys_Company where companyid={0}; ", dbHelper.GetParameter("CompanyId"));

var dbParameters = new List<IDbDataParameter> { dbHelper.MakeParameter("CompanyId", param.CompanyId) };
var ds = new DataSet();
return dbHelper.Fill(ds, commandText.ToString().Replace("r\n", " ").Replace('\n', ' '), "top", dbParameters.ToArray());

 

执行总是报ORA-00911: 无效字符,网上查了好久,分号去掉也试过,都不行,求大神帮看看

MissJacker的主页 MissJacker | 初学一级 | 园豆:59
提问于:2015-04-27 10:55
< >
分享
所有回答(3)
0

加上begin...end试试

commandText.AppendFormat(@"begin select CompanyName,CompanyCode,logo from Sys_Company where companyid={0} end;", dbHelper.GetParameter("CompanyId"));
commandText.AppendFormat(@"begin select CompanyName,CompanyCode,logo from Sys_Company where companyid={0} end;", dbHelper.GetParameter("CompanyId"));

参考:

如何在Oracle中一次执行多条sql语句【ado.net】

dudu | 园豆:39078 (高人七级) | 2015-04-27 11:19

这方法试了,不行。。

支持(0) 反对(0) MissJacker | 园豆:59 (初学一级) | 2015-04-29 10:27
0

commandText.ToString().Replace("r\n", " ") 你看看这是不是应该为\r\n.

阳.咩咩 | 园豆:4 (初学一级) | 2015-04-27 11:45

不是,那是我书写漏了

支持(0) 反对(0) MissJacker | 园豆:59 (初学一级) | 2015-04-29 10:23
0

你可以试试先执行一条语句看看能不能执行,也许是其它是主有问题。

一条能执行的话,再试多条的情况。

Albert Fei | 园豆:2102 (老鸟四级) | 2015-04-27 15:37

单独一条条执行是没有任何问题的,就是多条一起不行

支持(0) 反对(0) MissJacker | 园豆:59 (初学一级) | 2015-04-29 10:23

@MissJacker:  ORACLE 好像不能这样多条一起执行,你在每条后面执行commit试试

支持(0) 反对(0) Albert Fei | 园豆:2102 (老鸟四级) | 2015-04-30 17:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册