我直接用TClientDataSet的commandtext来根据条件打开一个表,语句如下
OrderWare_DataSet.CommandText:='select * from Order_Ware where Order_ID='''+ Order_ID
+''' order by Order_ID,Ware_NumID';
OrderWare_DataSet.Close;
OrderWare_DataSet.Execute;
OrderWare_DataSet.Open;
OrderWare_DataSet.Edit;
在上面的查询语句中我用order by 来将结果集排序并且加载到OrderWare_DataSet控件中,可是执行以后结果集没有按照order by 定义的顺序来显示,不知道这是为什么?
后来我用了第二种办法,定义了一个类,类的功能就是完成查询,然后将结果集赋值到OrderWare_DataSet中,语句如下:
objQuery:=TQueryData.Create;
objQuery.SQLs:='select * from Order_Ware where Order_ID='''+ Order_ID
+''' and jigou_code in (select jigou_code
from DIC_User_JiGou where user_code='''+
objuser.User_Code+''') order by Order_ID,Ware_NumID';
if objQuery.Query then
begin
OrderWare_DataSet.Close;
OrderWare_DataSet.Data:=objQuery.CDS_Temp.Data;
OrderWare_DataSet.Edit;
end;
这个方法也不能按照我定义好的Order by 来显示数据,不知道是为什么,
请问朋友们,我如果想按照数据表中某一个字段来显示并且输出结果集到TClientDataSet中应该怎么做呢?谢谢!
OrderWare_DataSet.CommandText:='select * from Order_Ware where Order_ID='''+ Order_ID
+''' order by Order_ID,Ware_NumID';
OrderWare_DataSet.Close;
OrderWare_DataSet.Execute;
OrderWare_DataSet.Open;
OrderWare_DataSet.Edit;
在上面的查询语句中我用order by 来将结果集排序并且加载到OrderWare_DataSet控件中,可是执行以后结果集没有按照order by 定义的顺序来显示,不知道这是为什么?
后来我用了第二种办法,定义了一个类,类的功能就是完成查询,然后将结果集赋值到OrderWare_DataSet中,语句如下:
objQuery:=TQueryData.Create;
objQuery.SQLs:='select * from Order_Ware where Order_ID='''+ Order_ID
+''' and jigou_code in (select jigou_code
from DIC_User_JiGou where user_code='''+
objuser.User_Code+''') order by Order_ID,Ware_NumID';
if objQuery.Query then
begin
OrderWare_DataSet.Close;
OrderWare_DataSet.Data:=objQuery.CDS_Temp.Data;
OrderWare_DataSet.Edit;
end;
这个方法也不能按照我定义好的Order by 来显示数据,不知道是为什么,
请问朋友们,我如果想按照数据表中某一个字段来显示并且输出结果集到TClientDataSet中应该怎么做呢?谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货