提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:杨鹏连|2021-01-29 13:52:52.133|阅读 134 次
概述:本文将主要介绍LEAD存储服务器数据库的数据查询方式,LEAD存储服务器数据库和教程数据库的数据库查询都遵循相同的模式。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
LEADTOOLS Recognition Imaging SDK是精选的LEADTOOLS SDK功能集,旨在在企业级文档自动化解决方案中构建端到端文档成像应用程序,这些解决方案需要OCR,MICR,OMR,条形码,表单识别和处理,PDF,打印捕获 ,档案,注释和图像查看功能。 这套功能强大的工具利用LEAD屡获殊荣的图像处理技术,智能识别可用于识别和提取任何类型的扫描或传真形式图像数据的文档功能。
点击下载LEADTOOLS Recognition Imaging SDK试用版
概述
本文将主要介绍LEAD存储服务器数据库的数据查询方式,LEAD存储服务器数据库和教程数据库的数据库查询都遵循相同的模式:
假设您想构建一个查询,该查询返回包含“Smith”的所有患者姓名,其中PatientSex为“M”。 查询与上面的示例查询完全相同,但增加了WHERE语句:
在为每个数据库表定义存储目录和CatalogEntity类(对于本教程为MyPatient,MyStudy,MySeries和MyInstance)之后,可以使用Leadtools.Medical.DataAccessLayer.SqlProviderUtilities.GenerateWhereStatement()方法来生成WHERE查询语句。
我们为本教程创建的MyStorageSqlDataAccessAgent类将覆盖许多用于创建SQL命令的StorageSqlDbDataAccessAgent方法。 下面显示了准备SQL查询(不包括SQL WHERE语句)的每个示例,以便您可以了解如何构建这些查询方式。
protected override void PreparePatientsQueryCommand
BEGIN SET NOCOUNT ON CREATE TABLE \#PrimaryKeys ( PatientId [int], StudyId [int], SeriesId [int], ImageId [int] ) INSERT INTO \#PrimaryKeys SELECT MyPatientTable.PatientId, MyStudyTable.StudyId, MySeriesTable.SeriesId, MyInstanceTable.ImageId FROM MyPatientTable LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyPatientId = MyPatientTable.PatientId LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesStudyId = MyStudyTable.StudyId LEFT OUTER JOIN MyInstanceTable ON MyInstanceTable.ImageSeriesId = MySeriesTable.SeriesId SET NOCOUNT OFF SELECT \* FROM MyPatientTable WHERE PatientId IN ( SELECT PatientId FROM \#PrimaryKeys ) DROP TABLE \#PrimaryKeys END **protected override void PrepareStudiesQueryCommand** BEGIN SET NOCOUNT ON CREATE TABLE \#PrimaryKeys ( PatientId [int], StudyId [int], SeriesId [int], ImageId [int] ) INSERT INTO \#PrimaryKeys SELECT MyPatientTable.PatientId, MyStudyTable.StudyId, MySeriesTable.SeriesId, MyInstanceTable.ImageId FROM MyStudyTable LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesStudyId = MyStudyTable.StudyId LEFT OUTER JOIN MyInstanceTable ON MyInstanceTable.ImageSeriesId = MySeriesTable.SeriesId SET NOCOUNT OFF SELECT \* FROM MyPatientTable WHERE PatientId IN ( SELECT PatientId FROM \#PrimaryKeys ) SELECT \* FROM MyStudyTable WHERE StudyId IN ( SELECT StudyId FROM \#PrimaryKeys ) DROP TABLE \#PrimaryKeys ENDprotected override void PrepareSeriesQueryCommand
BEGIN SET NOCOUNT ON CREATE TABLE \#PrimaryKeys ( PatientId [int], StudyId [int], SeriesId [int], ImageId [int] ) INSERT INTO \#PrimaryKeys SELECT MyPatientTable.PatientId, MyStudyTable.StudyId, MySeriesTable.SeriesId, MyInstanceTable.ImageId FROM MySeriesTable LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyId = MySeriesTable.SeriesStudyId LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId LEFT OUTER JOIN MyInstanceTable ON MyInstanceTable.ImageSeriesId = MySeriesTable.SeriesId SET NOCOUNT OFF SELECT \* FROM MyPatientTable WHERE PatientId IN ( SELECT PatientId FROM \#PrimaryKeys ) SELECT \* FROM MyStudyTable WHERE StudyId IN ( SELECT StudyId FROM \#PrimaryKeys ) SELECT \* FROM MySeriesTable WHERE SeriesId IN ( SELECT SeriesId FROM \#PrimaryKeys ) DROP TABLE \#PrimaryKeys ENDprotected override void PrepareInstanceQueryCommand
BEGIN SET NOCOUNT ON CREATE TABLE \#PrimaryKeys ( PatientId [int], StudyId [int], SeriesId [int], ImageId [int] ) INSERT INTO \#PrimaryKeys SELECT MyPatientTable.PatientId, MyStudyTable.StudyId, MySeriesTable.SeriesId, MyInstanceTable.ImageId FROM MyInstanceTable LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesId = MyInstanceTable.ImageSeriesId LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyId = MySeriesTable.SeriesStudyId LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId SET NOCOUNT OFF SELECT \* FROM MyPatientTable WHERE PatientId IN ( SELECT PatientId FROM \#PrimaryKeys ) SELECT \* FROM MyStudyTable WHERE StudyId IN ( SELECT StudyId FROM \#PrimaryKeys ) SELECT \* FROM MySeriesTable WHERE SeriesId IN ( SELECT SeriesId FROM \#PrimaryKeys ) SELECT \* FROM MyInstanceTable WHERE ImageId IN ( SELECT ImageId FROM \#PrimaryKeys ) DROP TABLE \#PrimaryKeys ENDprotected override void PrepareDeletePatientsCommand
DELETE FROM MyPatientTable WHERE ( MyPatientTable.PatientId IN ( SELECT MyPatientTable.PatientId FROM MyInstanceTable LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesId = MyInstanceTable.ImageSeriesId LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyId = MySeriesTable.SeriesStudyId LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId ) )protected override void PrepareDeleteStudiesCommand
DELETE FROM MyStudyTable WHERE ( MyStudyTable.StudyId IN ( SELECT MyStudyTable.StudyId FROM MyInstanceTable LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesId = MyInstanceTable.ImageSeriesId LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyId = MySeriesTable.SeriesStudyId LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId ) )protected override void PrepareDeleteSeriesCommand
DELETE FROM MySeriesTable WHERE ( MySeriesTable.SeriesId IN ( SELECT MySeriesTable.SeriesId FROM MyInstanceTable LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesId = MyInstanceTable.ImageSeriesId LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyId = MySeriesTable.SeriesStudyId LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId ) )protected override void PrepareDeleteInstanceCommand
DELETE FROM MyInstanceTable WHERE ( MyInstanceTable.SOPInstanceUID IN ( SELECT MyInstanceTable.SOPInstanceUID FROM MyInstanceTable LEFT OUTER JOIN MySeriesTable ON MySeriesTable.SeriesId = MyInstanceTable.ImageSeriesId LEFT OUTER JOIN MyStudyTable ON MyStudyTable.StudyId = MySeriesTable.SeriesStudyId LEFT OUTER JOIN MyPatientTable ON MyPatientTable.PatientId = MyStudyTable.StudyPatientId ) )protected override void PrepareDeletePatientsNoChildStudiesCommand
DELETE FROM MyPatientTable WHERE MyPatientTable.PatientId NOT IN ( SELECT MyStudyTable.StudyPatientId FROM MyStudyTable ) **protected override void PrepareDeleteStudiesNoChildSeriesCommand** DELETE FROM MyStudyTable WHERE MyStudyTable.StudyId NOT IN ( SELECT MySeriesTable.SeriesStudyId FROM MySeriesTable )protected override void PrepareDeleteSeriesNoChildInstancesCommand
DELETE FROM MySeriesTable WHERE MySeriesTable.SeriesId NOT IN ( SELECT MyInstanceTable.ImageSeriesId FROM MyInstanceTable )protected override void PrepareIsPatientExistsCommand
SELECT StudyStudyInstanceUID
FROM MyStudyTableWHERE StudyStudyInstanceUID='2222'
protected override void PrepareIsStudyExistsCommand
SELECT StudyStudyInstanceUIDFROM MyStudyTable
WHERE StudyStudyInstanceUID='2222'
protected override void PrepareIsSeriesExistsCommand
SELECT SeriesSeriesInstanceUIDWHERE SeriesSeriesInstanceUID='3333'
protected override void PrepareIsInstanceExistsCommand
SELECT SOPInstanceUIDWHERE SOPInstanceUID='4444'
了解更多
这是本系列的第五篇文章,本文介绍了LEAD医学存储服务器数据库的数据查询方式,我们将在《LEAD医疗存储服务器自定义数据库系列教程 –自定义医疗存储数据访问层》系列的第六篇文章中,着重介绍LEAD医用存储服务器数据库如何自定义医疗存储数据访问层。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
LEADTOOLS Document Imaging Suite SDK是LEADTOOLS SDK中各种特点的精选组合,这套强大的工具利用了LEAD行业领先的图像处理技术来智能地识别文档的特征,而根据文档的特征可以识别扫描的或传真的任何类型的表格图像。
LEADTOOLS Medical Imaging是一款医疗成像控件,包含了一些精心挑选的、经过优化的特性,可以满足医疗成像应用程序开发的特殊需要。
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
20多年的老牌图像处理控件,支持TWAIN扫描、200多种图像效果、150多种图像格式…
LEADTOOLS Document Suite Developer ToolkitLEADTOOLS Document Imaging Suite SDK是LEADTOOLS SDK中各种特点的精选组合,这套强大的工具利用了LEAD行业领先的图像处理技术来智能地识别文档的特征,而根据文档的特征可以识别扫描的或传真的任何类型的表格图像。
LEADTOOLS Document Imaging Developer Toolkit多语言的文档图像处理控件,支持光符识别处理、条形码扫描识别等。
LEADTOOLS Medical Developer ToolkitLEADTOOLS Medical Imaging是一款医疗成像控件,包含了一些精心挑选的、经过优化的特性,可以满足医疗成像应用程序开发的特殊需要。
LEADTOOLS Medical Imaging Suite Developer ToolkitLEADTOOLS Medical Imaging Suite帮您开发功能强大的PACS和医学成像应用程序
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢