在SqlDataAdapter的select语句中可以用多条语句,在OleDbDataAdapter 中不行,是这样吗?我这里有例子,麻烦来看一下!

weddingin2008 2005-03-18 07:52:57
string now=System.DateTime.Now.ToString("yyyy-MM-dd");
string sqlstring="select kindid,count(*) as totaltopic from questions group by kindid;";//获得各版块共有多少贴子
sqlstring=sqlstring+"select kindid,count(*) as todaytopic from questions where Convert(varchar(10),ReleaseTime,120)='"+now+"' group by kindid;";
sqlstring=sqlstring+"select kindid,count(*) as todaypost from Answers where Convert(varchar(10),Ans_Time,120 )='"+now+"' group by kindid";


OleDbConnection conn=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+System.Web.HttpContext.Current.Server.MapPath("./Data.mdb"));
OleDbDataAdapter da=new OleDbDataAdapter(sqlstring,conn);
DataSet ds=new DataSet();
try
{
conn.Open();
da.Fill(ds);
}
catch(OleDbException ex)
{
Lizheng.Common.JScript.Alert(ex.Message);
}
finally
{
conn.Close();
}
报错:在SQL语句结束之后找到非法字符。
...全文
263 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
webdiyer 2005-03-22
  • 打赏
  • 举报
回复
减少访问数据库速度?你是要减少访问数据库的次数吧?这可以通过缓存等来实现,一次取出后保存在缓存中,只有该值改变后再更新并重新获取数据,其实有好多值并不是经常更新的,所以没必要每次都从数据库去获取。
weddingin2008 2005-03-20
  • 打赏
  • 举报
回复
up
weddingin2008 2005-03-19
  • 打赏
  • 举报
回复
一般论坛首页都有每个版的的总主题数,回复数,及今天的主题数和回复数,还有各版块最后发表的主题及相关信息.有的还有当前在线人数,在线会员,在线访客,最高在线等等.这都是要读取数据库的,我想知道大家是如何尽量减少访问数据库速度的. (如果是Access作为数据库的话)
Overriding 2005-03-18
  • 打赏
  • 举报
回复
按你的思路是要取出所有的帖子的数目和当天帖子的数据.
那你这么做肯定不对.
正确的应该是这种形式的.

SELECT table1.id, table1.name
FROM table1 where id=1 union
SELECT table1.id, table1.name
FROM table1 where id=0
你必须保证每个selectet选出的数据列能对应.

Overriding 2005-03-18
  • 打赏
  • 举报
回复
呵呵,不好意思,没看到你后面还要连接另外的sql语句.
weddingin2008 2005-03-18
  • 打赏
  • 举报
回复
楼上的肯定不行啊,分号是区分几条语句的标识符。
Overriding 2005-03-18
  • 打赏
  • 举报
回复
string sqlstring="select kindid,count(*) as totaltopic from questions group by kindid;";//===>
string sqlstring="select kindid,count(*) as totaltopic from questions group by kindid";//
sql语句末尾的分号去掉。
chengbo1983 2005-03-18
  • 打赏
  • 举报
回复
OleDb好像是不支持同时运行多条SQL
bidisty 2005-03-18
  • 打赏
  • 举报
回复
Access不支持多语句
zyug 2005-03-18
  • 打赏
  • 举报
回复
yeah
我也被困惑了好几天
因为我自己用过sqlDataAdapter 一次 fill过几个DataTable

呵呵,总算明白了
webdiyer 2005-03-18
  • 打赏
  • 举报
回复
和OleDb没有关系,你用的数据库应该是Access吧,Access是不允许一次执行一条以上SQL语句的,而SQL Server可以,所以如果用OleDb来连接SQL Server,上面的结果就不会出错,用Access只能一条一条执行。

62,244

社区成员

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

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

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

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