起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: Jsun2007

【结贴】打印报错!**

[复制链接]
 楼主| 发表于 2007-12-5 16:20:08 | 显示全部楼层
换成 TSQLDataSet  后报错
语句如下:
with SQLDataSet1 do
begin
        sql.text := sqlyj;
end
报错如下:

1.jpg

18.72 KB, 下载次数: 98

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 16:21:00 | 显示全部楼层
运行到sql.text :=sqlyj;时报错!
回复 支持 反对

使用道具 举报

发表于 2007-12-5 17:26:29 | 显示全部楼层
把代码帖全了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 22:18:06 | 显示全部楼层
procedure TMainForm.QueryTrendDataForGrid;
var
  lSQLStr:String;
begin
  if FTableName <> '' then
  begin
    lSQLStr := GetTrendSQL;
    if lSQLStr <> '' then
    begin
      with SQLDataSet1 do
      begin
        Close;
        SQL.Text := FTrendSQLForGrid;
        //CommandText := FTrendSQLForGrid;
        //RichEdit1.text := CommandText;
        Open;
        Filtered := False;
        FormatTrantData;
      end;
    end
    else
      SQLDataSet1.Close;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-12-6 08:43:25 | 显示全部楼层
从这代码看,看不出问题。

SQLDataSet1  这个是创建的?还是直接在窗体上放了一个标准数据集?

你跟踪过吗?传给 SQL.Text  的值是啥?把这个语句直接在数据库上执行正常吗?

另外,Filtered := False; 这句是干吗的,没有看见你给filter 复制。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-6 09:23:14 | 显示全部楼层
SQLDataSet1  直接在窗体上放的
sql语句在数据库上执行是正确的
filter在别的函数里有赋值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-6 09:27:54 | 显示全部楼层
执行到close也会报错!
回复 支持 反对

使用道具 举报

发表于 2007-12-6 09:55:31 | 显示全部楼层
那你做个简单再现例子上传上来我看看吧,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-7 10:09:47 | 显示全部楼层
在业务信息下建标准数据集后问题搞定
新问题,代码控制数据集的字段的显示位数不管用
代码如下:
TSQLDataSet(DataSetBroker1.DataSet).Fields.Fields[2].SetFieldType(TFieldType.ftFloat);
TFloatField( TSQLDataSet(DataSetBroker1.DataSet).Fields.Fields[2]).DisplayFormat:='0.0';
回复 支持 反对

使用道具 举报

发表于 2007-12-7 10:20:19 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-1 22:34 , Processed in 0.039392 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表