在 crystal 份报告中按发票 ID 搜索

Search By Invoice ID in crystal reports

我只想查看包含我输入的发票 ID 的数据,所以我尝试使用此代码来做到这一点

        Crystal_Bill cr = new Crystal_Bill();
        SqlConnection conect = new SqlConnection("Data Source=DESKTOP-R34C6VV\SQL;Initial Catalog=Restaurant;Integrated Security=True");
        string sql = "Select * from Orders where InvoiceID='"+PrepareBill_txt1.Text+"'";
        DataSet dt = new DataSet();
        SqlDataAdapter adapter = new SqlDataAdapter(sql,conect);
        adapter.Fill(dt,"Orders");
        cr.SetDataSource(dt.Tables["Orders"]);
        open.crystalReportViewer1.ReportSource = cr;
Print open = new Print();
open.SHow();

但它没有用,我仍然得到数据库中的所有数据这些代码是否有问题?谁能修好它?谢谢 这是我的数据库

CREATE TABLE [dbo].[Orders] (
[InvoiceID] INT          NOT NULL,
[ItemNO]    INT          NOT NULL,
[Category]  VARCHAR (50) NULL,
[ItemName]  VARCHAR (50) NULL,
[Price]     FLOAT (53)   NULL,
[Qty]       INT          NOT NULL,
[SubTotal]  FLOAT (53)   NULL,
CONSTRAINT [Orders_FK1] FOREIGN KEY ([InvoiceID]) REFERENCES [dbo].[Invoice] ([InvoiceID])

);

根据您的代码,您在 SQl 查询中将 发票 ID 作为参数值传递,您的发票 ID 具有 INT 数据类型,并且您是尝试在查询中用单引号传递它,以便将发票 ID 视为 varchar 值。您可以删除 单引号 并重试。可能对你有帮助。

i.g:

string sql = "Select * from Orders where InvoiceID="+ PrepareBill_txt1.Text +"";