Naqash Younis
это код который я использую для печати ваучера с одним сбором но мне нужен ваучер с несколькими сборами в один клик
ItemQillareport общественные функции() в качестве набора данных
Dim dsData как набор данных
Попробуй
'сайту dsdata = DalHelper.Методы executedataset(m_ConString, свойство commandtype.Текст, "выбрать * из PrintChallan где Reg_num='" &амп; StidentFee.TextBox14.Текст &ампер; "' и fee_Month='" &амп; StidentFee.Поле combobox1.Текст &ампер; "' и Fea_year='" &амп; StidentFee.TextBox4.Текст &ампер; "'")
сайту dsdata = DalHelper.ExecuteDataset(m_ConString, CommandType.Text, "SELECT dbo.PrintChallan.*, dbo.School_Info.* от dbo.PrintChallan CROSS JOIN dbo.School_Info, где PrintChallan.Reg_num='" & StidentFee.TextBox14.Text & "' и PrintChallan.fee_Month='" & StidentFee.ComboBox1.Text & "' и PrintChallan.Fea_year='" &амп; StidentFee.TextBox4.Текст &ампер; "' и School_Info.Id='1'")
Поймать ex как исключение
Ничего Не Возвращайте
Конец Попытки
Возврат dsData
Конечная Функция
Private Sub Employe_Led_report_Load(отправитель как система.Объект, как система.EventArgs) Обрабатывает MyBase.Load
ReportViewer1.LocalReport.ReportEmbeddedResource = "KTC.Report36.rdlc"
Дим rdsNumberofReferrals как новый Microsoft.Отчетности.Приложения WinForms.ReportDataSource()
rdsNumberofReferrals.Имя = "Имя Dataset1"
Дим dsBrands как набор данных = itemQillareport()
rdsNumberofReferrals.Значение = dsBrands.Таблицы(0)
ReportViewer1.LocalReport.Источники Данных.Добавить(rdsNumberofReferrals)
ReportViewer1.Обновление()
Затемните newPageSettings как новую систему.Рисование.Печатание.Свойство pagesettings
newPageSettings.Размер Бумаги = Новая Печать.Формат Бумаги("Custom", 820, 1150)
newPageSettings.Пейзаж = Истина
newPageSettings.Маржа = Новая Система.Рисование.Печатание.Поля(10, 10, 10, 10)
ReportViewer1.SetPageSettings(newPageSettings)
Me.ReportViewer1.RefreshReport()
Конец Подводной Лодки
OriginalGriff
Во-первых ... прекратите то, что вы делаете, и срочно исправьте все свое приложение.
Никогда не объединяйте строки для построения команды SQL. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого всегда используйте параметризованные запросы.
Когда вы объединяете строки, вы вызываете проблемы, потому что SQL получает такие команды, как:
SELECT * FROM MyTable WHERE StreetAddress = 'Baker's Wood'
Цитата, добавленная пользователем, завершает строку в том, что касается SQL, и вы получаете проблемы. Но могло быть и хуже. Если я приду и наберу вместо этого: "x';DROP TABLE MyTable;--", то SQL получит совсем другую команду:
SELECT * FROM MyTable WHERE StreetAddress = 'x';DROP TABLE MyTable;--'
Которые SQL видит как три отдельные команды:
SELECT * FROM MyTable WHERE StreetAddress = 'x';
Совершенно правильный выбор
DROP TABLE MyTable;
Вполне допустимая команда "удалить таблицу"
--'
А все остальное-это комментарии.
Так оно и происходит: выбирает любые совпадающие строки, удаляет таблицу из базы данных и игнорирует все остальное.
Поэтому всегда используйте параметризованные запросы! Или будьте готовы часто восстанавливать свою БД из резервной копии. Вы ведь регулярно делаете резервные копии, не так ли?
Когда вы исправите это, вы можете начать думать об "улучшениях", но в данный момент все ваше приложение-это катастрофа, ожидающая своего часа...
Naqash Younis
спасибо, что сказал мне об этом.
не могли бы вы сказать мне, как я могу распечатать весь Каллахан из dbo?PrintChallan таблица dbo.PrintChallan store ежемесячные ваучеры базовой платы для многих студентов class wise я хочу распечатать все ваучеры платы в один клик я также упомянул свой исходный код.
OriginalGriff
Проблема, которую вы заметили, - это одно. Проблема, с которой вы столкнулись, гораздо серьезнее и опаснее. Когда вы исправите это, вы можете перейти к тому, что вы заметили - но это бессмысленно до этого!