Я хочу печатать с использованием отчетов Crystal, но все данные в sql печатаются. Как я могу отфильтровать их, чтобы просто выбрать данные в этом счете? Вот некоторые коды для другого материала в Crystal Report, такие как имя клиента с идентификатором счета и другие. но я не получаю данные только для этого идентификатора счета-фактуры и получаю все данные
String value = PrepareBill_txt1.Text;
if (value == "")
{
MessageBox.Show("Please Enter Invoice ID");
}
else
{
SqlConnection conect = new SqlConnection("Data Source=DESKTOP-R34C6VV\\SQL;Initial Catalog=Restaurant;Integrated Security=True");
try
{
String str = "Data Source=DESKTOP-R34C6VV\\SQL;Initial Catalog=Restaurant;Integrated Security=True";
String query = "select * from Invoice where InvoiceID = " + value + "";
SqlConnection con = null;
con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader view;
con.Open();
view = cmd.ExecuteReader();
if (view.HasRows)
{
if (view.Read())
{
Cus_Name = view.GetString(1);
Cus_Tel = view.GetString(2);
Date = view.GetString(3);
Total = view.GetDouble(4);
Discount = view.GetDouble(5);
ToPay = view.GetDouble(6);
PrepareBill_txt1.Clear();
go = 1;
}
}
else
{
MessageBox.Show("Invoice ID is not valid");
PrepareBill_txt1.Clear();
go = 0;
}
con.Close();
}
catch (Exception es)
{
MessageBox.Show(es.Message);
}
}
if (go == 1)
{
Print open = new Print();
Crystal_Bill cr = new Crystal_Bill();
TextObject var1 = (TextObject)cr.ReportDefinition.Sections["Section1"].ReportObjects["Text17"];
TextObject var3 = (TextObject)cr.ReportDefinition.Sections["Section1"].ReportObjects["Text19"];
TextObject var4 = (TextObject)cr.ReportDefinition.Sections["Section1"].ReportObjects["Text20"];
TextObject var6 = (TextObject)cr.ReportDefinition.Sections["Section1"].ReportObjects["Text22"];
TextObject var7 = (TextObject)cr.ReportDefinition.Sections["Section4"].ReportObjects["Text23"];
TextObject var8 = (TextObject)cr.ReportDefinition.Sections["Section4"].ReportObjects["Text24"];
TextObject var9 = (TextObject)cr.ReportDefinition.Sections["Section4"].ReportObjects["Text25"];
var1.Text = value;
var3.Text = Date;
var4.Text = Cus_Name;
var6.Text = Cus_Tel;
var7.Text = Total.ToString("0.00");
var8.Text = Discount.ToString("0.00");
var9.Text = ToPay.ToString("0.00");
int a = System.Convert.ToInt32(value);
cr.SetParameterValue("pInvoiceID", a);
open.crystalReportViewer1.ReportSource = cr;
open.Show();
, но я не знаю, как сделать так, чтобы данные только для номера счета-фактуры печатались здесь, это моя база данных
CREATE TABLE [dbo].[Invoice] (
[InvoiceID] INT IDENTITY (1, 1) NOT NULL,
[CustomerName] VARCHAR (50) NULL,
[Telephone] CHAR (10) NULL,
[Date] VARCHAR (30) NULL,
[Total] FLOAT (53) NULL,
[Discount] FLOAT (53) NULL,
[ToPay] FLOAT (53) NULL,
CONSTRAINT [Invoice_PK1] PRIMARY KEY CLUSTERED ([InvoiceID] ASC)
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])
Я собираюсь поместить несколько изображений для печатных данных, чтобы кто-нибудь знал, как это сделать? напечатанное изображение отчет о кристалле