我在进行有条件的对DBGrid中的数据进行查询时,不能进行有效查询,由于数据库表中的数据不是按大类进行有序排列的,如先是几条信息系的记录,然后就是几条管理系的记录,然后又是信息系的记录.在查询时,只能实现数据的部分查询,即只能查到几条连续的记录,对于中断的下几条记录就查不到了,具体代码如下:
procedure TF_student.BtnqryClick(Sender: TObject);
var sqlstr:string;
begin
sqlstr:='select * from student where name like ''%'+edname.text+'%'' ';
if cmbdepart.text<>'全部' then
sqlstr:=sqlstr+' and depart='''+cmbdepart.Text +''' ' ;
if cmbclass.text<>'全部' then
sqlstr:=sqlstr+' and classno='''+cmbclass.text+''' ' ;
adoQryStu.sql.Clear ;
adoQryStu.SQL.Add(sqlstr);
adoQryStu.Open ;end;
procedure TF_student.BtnqryClick(Sender: TObject);
var sqlstr:string;
begin
sqlstr:='select * from student where name like ''%'+edname.text+'%'' ';
if cmbdepart.text<>'全部' then
sqlstr:=sqlstr+' and depart='''+cmbdepart.Text +''' ' ;
if cmbclass.text<>'全部' then
sqlstr:=sqlstr+' and classno='''+cmbclass.text+''' ' ;
adoQryStu.sql.Clear ;
adoQryStu.SQL.Add(sqlstr);
adoQryStu.Open ;end;
sql.clear;
sql.add();
open;排序可以用order by fieldName
好好检查一下自己的数据表中的数据,然后单步执行,看看你的sql.text是什么,然后到数据库里用这个sql.text执行。。看看如何。
ID studentno name sex birthday depart enteryear classno specialty photo password
1 s021101 江山 男 1984-02-11 "惡籯û
" 2002 0211 "惡嵯童
" <Binary> 123
2 s022101 王奎庆 男 1983-12-09 "管林簺û
计算机系 " 2002 0221 计算机科学与技术 <Binary>
3 s022102 李铮 男 1984-04-05 计算机系 2002 0221 "管林示寑书戎枀/
" <Binary>
4 s022103 陈传流 男 1982-02-24 计算机系 2002 0221 "管林示寑书戎枀/
" <Binary>
5 s022201 康金弓 女 1983-02-24 计算机系 2002 0222 "管林示寑书戎枀/
" <Binary>
6 s021102 刘天洋 男 1983-04-11 信息系 2002 0211 信息工程 <Binary>
7 s021103 孙海彬 男 1982-08-21 信息系 2002 0211 信息工程 <Binary>
8 s021104 李二超 男 1981-09-14 信息系 2002 0211 信息工程 <Binary>
9 s021105 吴海永 男 1982-04-07 信息系 2002 0211 信息工程 <Binary>
10 s021201 石文华 男 1982-02-17 信息系 2002 0212 信息工程 <Binary>
11 s021202 韩淼 男 1983-12-05 信息系 2002 0212 信息工程 <Binary>
12 s021203 丁进军 男 1983-04-22 信息系 2002 0212 信息工程 <Binary>
13 s021301 罗威 男 1981-11-28 信息系 2002 0213 信息工程 <Binary>
14 s023101 李英平 男 1984-02-06 管理系 2002 0231 管理工程 <Binary>
15 s023102 周宝珠 男 1984-04-19 管理系 2002 0231 管理工程 <Binary>
16 s023103 谢勇 男 1982-03-16 管理系 2002 0231 管理工程 <Binary>
17 s023201 陈立 女 1983-04-03 管理系 2002 0232 管理信息系统 <Binary>
18 s023202 李美媛 女 1983-02-01 管理系 2002 0232 管理信息系统 <Binary>
19 s023301 季烨 女 1982-02-13 管理系 2002 0233 办公自动化 <Binary>
21 s023302 王华 女 1983-10-22 管理系 2002 0233 办公自动化 <Binary>
22 s023303 许红如 女 1983-12-30 管理系 2002 0233 办公自动化 <Binary>
28 s011101 王熙凤 女 1982-08-05 信息系 2001 0111 信息工程 <Binary>
30 s023104 刘少奇 男 1984-02-23 管理系 2002 0231 skdfj <Binary>
"惡籯û"管林簺û