读书人

access统计解决办法

发布时间: 2012-03-25 20:55:17 作者: rapoo

access统计
我要统计access中某个表中的记录,其中sex为1的有多少条,为2的有多少条。并将数据显示在label的caption上,应该如何写呢。

[解决办法]

C/C++ code
AnsiString Str ;Str ="select count(*) as ct from tablename where sex=1"//or //Str ="select count(*) as ct from tablename where sex=2"ADOQuery1->Close();ADOQuery1->SQL->Clear();ADOQuery1->SQL->Add(ls_Str );ADOQuery1->Open();if(!ADOQuery1->Eof){   lable1->Caption = ADOQuery1->FieldByName("ct ")->AsString ;}
[解决办法]
可以 使用两次sql语句来得到
[解决办法]
探讨
C/C++ code
AnsiString Str ;
Str="select count(*) as ct from tablename where sex=1"//or//Str ="select count(*) as ct from tablename where sex=2"ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->S?-

[解决办法]
先连接SQL,用ADO连接,
先添加一个ADOConnection(在ADO栏里),Name是ADOConnection1
双击ADOConnection1的ConnectionString修改成
提供程序:Microsoft OLE db provider for SQL Server
后面那些用户名什么的你自己改成你要的。
再添加一个ADOQuery,名为ADOQuery1,将ADOQuery1的Connection属性改为ADOConnection1
在程序运行的时候
先调用 ADOConnection->Open();打开数据库
然后动态修改SQL语句,其中sqlstr为AnsiString型,例如
C/C++ codesqlstr = "Select * from Table1";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sqlstr);
ADOQuery1->Open();
其中最后一句ADOQuery1->Open();是对于SQL语句为SELECT型的,若是SQL语句为Insert、Delete之类的不返回数据集的语句
则将ADOQuery1->Open();修改为
ADOQuery1->ExecSQL();

[解决办法]
楼上的都说完了。。代码也给了。。
那我来打个酱油好了。。。。
[解决办法]
SELECT sex, count(*) as ct
FROM tablename
GROUP BY sex


一次即可完成

[解决办法]
一次能查询完成.SQL语句如下

C/C++ code
AnsiString sSQL;sSQL = "select sum(case when sex = 1 then 1 else 0 end) sex1,sum(case when sex = 2 then 1 esle 0 end) sex2from table"ADO->SQL->Text = sSQL;ADO->Open;lable->Caption = "性别为1的有" + ADO->FieldByName("sex1")->AsString + "条记录,性别为2的有" + ADO->FieldByName("sex1")->AsString + "条记录";
[解决办法]
探讨
SELECT sex, count(*) as ct
FROM tablename
GROUP BY sex


一次即可完成

读书人网 >C++ Builder

热点推荐