죄송합니다, 나는 DbGrids에 새로 왔습니다.TIMEDIFF (지금, 그때)를 DB Grid에 표시하는 방법은 무엇입니까?
쿼리의 필드 편집기를 사용해야하고 TIMEDIFF를 캡처 한 다음 DbGrid의 열로 추가해야하는 필드를 추가해야합니까?
필드 편집기를 건너 뛸 수 있습니까? 어떻게 든 TIMEDIFFF를 열로 선언 할 수 있습니까?
이 테이블의 경우 시작 시간, 종료 시간, 기간, 설명 (run_id는 기본 키 &이 표시되지 않음)의 4 개 열로 DbGrid가 필요합니다. 나는 '시간'컬럼에 데이터를 얻는 방법에 관한 난처한 상황에 빠진
...
이mysql> describe test_runs;
+------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+----------------+
| run_id | int(11) | NO | PRI | NULL | auto_increment |
| start_time_stamp | timestamp | YES | | NULL | |
| end_time_stamp | timestamp | YES | | NULL | |
| description | varchar(64) | YES | | NULL | |
+------------------+-------------+------+-----+---------+----------------+
4 rows in set (0.37 sec)
[업데이트] 데이터 소스에 대한 쿼리는
SELECT start_time_stamp,
end_time_stamp,
TIMEDIFF(end_time_stamp, start_time_stamp) as duration,
description
FROM test_runs ORDER BY start_time_stamp DESC
및 MySql을 수동으로 실행할 때
mysql> select TIMEDIFF(end_time_stamp, start_time_stamp) as duration FROM
+----------+
| duration |
+----------+
| NULL |
| 00:04:43 |
| 00:00:13 |
| 00:00:06 |
| 00:00:04 |
+----------+
5 rows in set (0.00 sec)
하지만 DB 그리드의 해당 열은 비어 있습니다. 누구든지 도와 줄 수 있습니까? 감사.
[업데이트] 도움이 될 경우 AnyDac을 사용하고 있습니다. 이 쿼리는 AnYDac 쿼리 편집기를 사용하여 실행하면 MySql과 Delphi IDE에서 시차를 포함한 모든 필드를 생성합니다.
유일한 문제점은 런타임시 DB 그리드에 표시되지 않는다는 것입니다. 디자인 타임에 DB 그리드를 두 번 클릭하면 열이 올바른 것입니다. FielName
속성은 duration
으로 설정되며 위에 표시된 쿼리에 의해 다시 실행됩니다. 데이터베이스에는 존재하지 않지만 쿼리에 의해 계산됩니다. 그게 어떻게 든 문제가 될 수 있니?
[Aaaaaaaargh가!] 누군가 내 코드를 "개선"과, 데이타베이스 테이블이 없기 때문에, 따라서 나의 설계 시간 쿼리를! 덮어 쓰기, SELECT * FROM test_runs)
으로 (런타임에 프로그래밍 방식으로 쿼리의 텍스트를 설정하려고 duration
필드는 아무도,
단어가 가진했다. DB를 그리드에 표시되지 않은 음색 Rasied입니다되었고, 지금은 당신의 시간을 낭비하기위한 apolgize해야합니다. 죄송합니다.
이
나는 XE3 및 UniDAC를 사용하여 쿼리를 테스트했으며 예상대로 실행됩니다. 모든 열과 행이 예상대로 표시됩니다. 사용중인 Delphi 버전과 db-access-components를 추가하십시오. –
나는이 질문을 다음과 같이 중복하여 투표하려고한다. http://stackoverflow.com/questions/15262319/displaying-a-mysql-timediff-in-a-db-grid 열린 현상금,하지만 정말 두 질문 사이에 차이가 없어!. – jachguate