adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select tm.bar_code,tm.title,tm.pur_money,tm.p_price,count(*) as total');
adoquery1.SQL.Add('from TM_infro tm where bar_code='''+edit1.Text+''' group by bar_code,pur_money,p_price,title ');
adoquery1.ExecSQL;
adoquery1.open;到open的时候出现dataset does not support books,which are required for multi-record data control 请问有什么办法可以解决?不能把统计的记录显示在dbgrid上。
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select tm.bar_code,tm.title,tm.pur_money,tm.p_price,count(*) as total');
adoquery1.SQL.Add('from TM_infro tm where bar_code='''+edit1.Text+''' group by bar_code,pur_money,p_price,title ');
adoquery1.ExecSQL;
adoquery1.open;到open的时候出现dataset does not support books,which are required for multi-record data control 请问有什么办法可以解决?不能把统计的记录显示在dbgrid上。
而ExecSQL不返回结果集
delete update等可以用execsql执行。
adoquery1.SQL.Add('from TM_infro tm where bar_code='''+edit1.Text+''' group by bar_code,pur_money,p_price,title ');
去掉,count(*) as total
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select tm.bar_code,tm.title,tm.pur_money,tm.p_price,count(*) as total');
adoquery1.SQL.Add('from TM_infro tm where bar_code='''+edit1.Text+''' group by bar_code,pur_money,p_price,title ');
//adoquery1.ExecSQL;
adoquery1.open;语法没有错,
而且
这条语句我在sql的查询分析上可以通过的,能统计出数据。那错误就不单单是由这段代码引起的了.
To xiaobao_2002(小豹),你也没有真正找到原因。奉劝一下:编程应该认真点,不应该想当然,一定要找出原因。
count()也没有错,只是不能乱和别的Select字段一起用,具体用文字很难说清楚。
简单来说,Count(*)返回结果集只有一行,而别的有好多好多行,你让它怎么一起返回???
自己试吧,应该明白了。