通过Visual Studio C#在Crystal Report中编写自定义查询 [英] Write a custom query in Crystal Report by visual studio c#

查看:70
本文介绍了通过Visual Studio C#在Crystal Report中编写自定义查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个从3个MySQL表中获取值的Crystal报表,但是我想编写我的自定义查询,因为当我在Visual Studio中选择表时,它显示的查询不符合我的期望.我在本地主机phpMyAdmin上测试了查询,并且该查询正常工作.

I want to create a Crystal report that takes values from 3 MySQL tables but I want to write my custom query because when I select tables in visual studio it shows a query that doesn't meet what I expected. I tested query on localhost phpMyAdmin and it worked.

注释1:我正在使用Visual Studio 2019并安装了Crystal Report SP26注意2:当Visual Studio写查询时,它在查询栏中添加"1".到表名像boq_table一样设为boq_table1.

note 1: I am using visual studio 2019 and installed Crystal report SP26 note 2: when visual studio wrote the query it added "1" to the table name like boq_table make it boq_table1.

下面的代码表示我要执行的查询:

code below represents what query I want to execute:

SELECT
    ubc.boq_table.itemNum,
    ubc.boq_table.descriptionOfWork,
    ubc.boq_table.unit,
    ubc.boq_table.contractualQuantity,
    ubc.boq_table.priceNum,
    ubc.summary.executedQuantLastSummary,
    ubc.summary.priceLastWorks,
    ubc.summary.executedQuantBetw2Sum,
    ubc.submittal.priceCurrentWorks
FROM
    ubc.boq_table
LEFT OUTER JOIN ubc.summary ON
    ubc.boq_table.itemNum = ubc.summary.itemNum
LEFT OUTER JOIN ubc.submittal ON
    ubc.boq_table.itemNum = ubc.submittal.itemNum
WHERE
    ubc.boq_table.projectName ='proj'
UNION
SELECT
    ubc.boq_table.itemNum,
    ubc.boq_table.descriptionOfWork, 
    ubc.boq_table.unit, 
    ubc.boq_table.contractualQuantity, 
    ubc.boq_table.priceNum, 
    ubc.summary.executedQuantLastSummary, 
    ubc.summary.priceLastWorks, 
    ubc.summary.executedQuantBetw2Sum, 
    ubc.submittal.priceCurrentWorks 
FROM
    ubc.summary
LEFT OUTER JOIN ubc.boq_table ON 
    ubc.summary.itemNum = ubc.boq_table.itemNum 
LEFT OUTER JOIN ubc.submittal ON 
    ubc.summary.itemNum = ubc.submittal.itemNum 
WHERE 
    ubc.summary.projectName = 'proj'  
UNION
SELECT
    ubc.boq_table.itemNum,
    ubc.boq_table.descriptionOfWork,
    ubc.boq_table.unit,
    ubc.boq_table.contractualQuantity,
    ubc.boq_table.priceNum,
    ubc.summary.executedQuantLastSummary, 
    ubc.summary.priceLastWorks, 
    ubc.summary.executedQuantBetw2Sum, 
    ubc.submittal.priceCurrentWorks 
FROM
    ubc.submittal 
LEFT OUTER JOIN ubc.boq_table ON 
    ubc.submittal.itemNum = ubc.boq_table.itemNum 
LEFT OUTER JOIN ubc.summary ON 
    ubc.submittal.itemNum = ubc.summary.itemNum 
WHERE 
    ubc.submittal.projectName = 'proj' 
ORDER BY 
    itemNum;

这是我选择表格后由Visual Studio编写的代码

and this code was written by the visual studio after I selected tables

 SELECT boq_table1.itemNum, boq_table1.descriptionOfWork, boq_table1.unit, boq_table1.contractualQuantity, boq_table1.priceNum, submittal1.priceCurrentWorks, summary1.executedQuantLastSummary, summary1.executedQuantBetw2Sum, summary1.priceLastWorks
 FROM   (ubc.boq_table boq_table1 INNER JOIN ubc.submittal submittal1 ON boq_table1.ID=submittal1.ID) INNER JOIN ubc.summary summary1 ON boq_table1.ID=summary1.ID
 ORDER BY boq_table1.itemNum

我无法编辑的最后一个只读代码

the last code read-only I can't edit

推荐答案

如果要获取数据到晶体副本,您可以做两件事,再次在数据库选择器中查找,可以选择添加命令或使用连接器和数据读取器以构建可以使用的数据集.

You can do 2 things if you want to get data to crystal reprots, you look again in the database selector, there is an option for adding a command or use the connector and a datareader to build a dataset that you can use.

如果您不需要大量计算数据,那么首先可以.

The first is ok, if you don't need to compute the data heavily.

这篇关于通过Visual Studio C#在Crystal Report中编写自定义查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆