使用MySQL和C#复制水晶报表中的数据

时间:2018-03-26 07:21:41

标签: c# mysql crystal-reports

我在使用左连接在水晶报表中显示数据时遇到问题。当我在Phpmyadmin使用“where no_barang = 2”时工作。但是在crystalreport中没有工作(数据是重复的,并显示所有数据)。

表“barang”

no_barang   | nama_barang   | harga_barang  
1           | sepatu        | 25000 
2           | baju          | 47000 

表“pelanggan”

no_pelanggan    | nama_pelanggan        
1               | Sugeng Agung Suganda
2               | Babay Azifahmi

表“pembelian”

no_order    | no_pelanggan  | no_barang | jumlah    
1           |       1       |    2      |   2   
2           |       2       |    1      |   1   

这是我在crystalreport中的代码

MySqlParameter p;
MySqlConnection conn = new MySqlConnection("database=cs_reportmultitables;server=localhost;uid=root;pwd=");

public View(string sTitle)
{
InitializeComponent();
try
{
DataSet ds = new DataSet();
string query;
p = new MySqlParameter("@no_order", MySqlDbType.String);
p.Value = sTitle;
query = "SELECT pembelian.no_order, pelanggan.nama_pelanggan, barang.nama_barang, barang.harga_barang, pembelian.jumlah FROM pembelian LEFT JOIN pelanggan ON pembelian.no_pelanggan = pelanggan.no_pelanggan LEFT JOIN barang ON pembelian.no_barang = barang.no_barang WHERE no_order=@no_order";
MySqlDataAdapter dscmd = new MySqlDataAdapter(query, conn);
dscmd.SelectCommand.Parameters.Add(p);
dscmd.Fill(ds);
RPT cryds = new RPT();
cryds.SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource = cryds;
crystalReportViewer1.Refresh();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
conn.Close();
}

尝试显示数字2,我的输出是:

no_order | nama_pelanggan       | nama_barang | harga_barang | jumlah
1        | Sugeng Agung Suganda | sepatu      | 25000        | 2
2        | Babay Azifahmi       | sepatu      | 25000        | 1

在“nama_barang”和“harga_barang”中复制,应该显示如下数据:

2        | Babay Azifahmi       | sepatu      | 25000        | 1

如果有人知道,请帮助我吗?

0 个答案:

没有答案