Рейтинг:
2
OriginalGriff
Цитата:
Я видел эту проблему в Dataset, когда управление выполнением входит в dataset, он закрывает все приложение.
Тогда наиболее вероятная причина заключается в том, что вы не используете никаких блоков try-catch, чтобы попытаться правильно найти и обработать ошибки, и ваша строка подключения, вероятно, неверна. Разработка и производство обычно не используют одну и ту же строку подключения или даже одну и ту же базу данных, поэтому, если ваш код не настроен на использование системы конфигурации для хранения строки подключения, он, вероятно, все еще пытается ссылаться на ваш экземпляр SQL Server разработки. Даже если это так, вам нужно проверить, что это за строка и что она верна для реального экземпляра SQL, на который она ссылается. И что экземпляр имеет копию базы данных. И... вы поняли идею.
Мы не можем сделать ничего из этого для вас: поэтому проверьте все это очень тщательно и добавьте блоки try - catch для сообщения о проблемах (включая любое внутреннее исключение), чтобы вам сказали, что это за ошибка, а не "она разбилась".
khushbujasmine
Привет
Я использовал блок try &catch.
Конн = вызов getconnection();
если (поле == "все")
{
cmd = new SqlCommand ("select * from tbl_Expense order by nTitle", conn);
}
иначе если (равенство = = " равно")
{
КМД = новая команда sqlcommand("Select * из tbl_Expense где" + имяполя + "='" + ценности + "' заказ nTitle АСК", соед);
}
иначе если (равенство = = " как")
{
КМД = новая команда sqlcommand("Select * из tbl_Expense где" + имяполя + " как '%" + ценности + "%' заказ nTitle АСК", соед);
}
иначе если (равенство = = " меньше")
{
КМД = новая команда sqlcommand("Select * из tbl_Expense где" + имяполя + "&ЛТ; " + поплавок.Синтаксический анализ(ценности) + "Сортировать по nTitle АСК", соед);
}
УМК.CommandType = CommandType. Text;
SqlDataAdapter da = новый SqlDataAdapter(cmd);
DataSet dsreport = новый набор данных();
dsreport.Четкий();
пробовать
{
da. Fill(dsreport, "tbl_Expense");
}
catch (SqlException)
{
}
возврат dsreport;
Все запросы к базе данных корректны ,и подключение к базе данных также корректно.
OriginalGriff
И вы проглотили любые исключения, так что вы понятия не имеете, что пошло не так, если вообще что-то пошло не так...
khushbujasmine
Когда я запускаю эту программу в visual studio, я отслеживаю строку за строкой, а не какое-либо исключение.
он работает правильно.
OriginalGriff
Да.
Но вы же не запускаете его под VS в производстве, не так ли?
И вот где это failing...so вот где вам нужно собирать информацию, а не выбрасывать ее.
khushbujasmine
Я не могу понять ваш вопрос: "но вы же не запускаете его под VS в производстве, не так ли?" Что это значит ?
OriginalGriff
Вы запускаете свое приложение только в Visual Studio (сокращенно VS), которая находится на вашей машине разработки, в вашей среде разработки, используя вашу базу данных разработки.
Вы не используете VS в производстве, вы работаете в другой среде и используете другую базу данных. Таким образом, вы не можете экстраполировать "никаких исключений в dev" на "Никаких исключений в prod" - особенно когда ваше приложение не работает...
Поэтому, когда вы проглатываете исключения, вы выбрасываете информацию, которая вам отчаянно нужна, и у вас нет другого способа получить ее...
Рейтинг:
1
Maciej Los
Ну, вы не предоставили много информации, но.....
Госпожа писала:
Чтобы предоставить файлы среды выполнения Crystal Reports,ваши проекты установки должны включать пакет перераспределения Crystal Reports for .NET Framework 2.0 или модули слияния Crystal Reports. Модули слияния Crystal Reports доступны для 32-и 64-разрядных компьютеров.
источник:
Обзор Развертывания Crystal Reports[
^]
Это означает, что вам нужно установить файлы среды выполнения Crystal Reports на клиентскую машину, чтобы иметь возможность использовать ее.
khushbujasmine
Я установил dotNetFx40_Client_x86_x64, crystal report (CRforVS_redist_install_32bit_13_0),
sql server 2008.
khushbujasmine
и мое заявление, а не какое-либо другое.