powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / хранимая процедура с параметром
25 сообщений из 29, страница 1 из 2
хранимая процедура с параметром
    #39363905
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как написать процедуру для поиска
хочу что то типа этого
ALTER PROCEDURE dbo.StoredProcedure1

AS
SELECT * FROM contacts WHERE (name LIKE ?);
"name", "%" + textBox1->Text + "%";

RETURN
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39363911
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpertхочу что то типа этого

Ну как-то так и написать. Хотя вообще-то для поиска никакая хранимая процедура не нужна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39363922
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

есть код на плюсах, нужно прикрутить к нему хранимую процедуру
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
// Поиск картины по автору
	String^ av_fio = textBox1->Text; // Забираем из textBox1 ФИО автора
	SqlCommand^ Comanda = gcnew SqlCommand("FindKartinaAvtor",ConnectionDB); // Создаем команду, в поле текста вводим имя процедуры в БД
	Comanda->CommandType = CommandType::StoredProcedure; //Задаем тип команды (процедура!)
	Comanda->Parameters->Clear();
	Comanda->Parameters->AddWithValue("avtor_fio", av_fio); // Задаем параметр для процедуры. Сама процедура хранится в БД, в папке «Хранимые процедуры»

	 DataTable^ DT = gcnew DataTable(); // Подготавливаем таблицу
	 DT->Columns->Add("Код");
	 DT->Columns->Add("Картина");
	 DT->Columns->Add("Время создания");
	 DT->Columns->Add("Автор");
	 DT->Columns->Add("Источник");
	 DT->Columns->Add("Копий");
	 DT->Columns->Add("Стоимость");
	 //===============

	 SqlDataReader^ Reader = Comanda->ExecuteReader(); // Открываем Reader и читаем данные, которые вернет процедура
	 while(Reader->Read())
	 {
	 DT->Rows->Add(Reader->GetValue(0), Reader->GetValue(1), Reader->GetValue(2)->ToString() + " - " + Reader->GetValue(3)->ToString(), Reader->GetValue(4), Reader->GetValue(5)->ToString(), Reader->GetValue(6), Reader->GetValue(7));
	 }
	 Reader->Close(); 
	 dataGridView1->DataSource = DT;
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39363923
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpert,

это не плюсы, а недоразумение именуемое managed c++
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39363926
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил,

да, это CLR c++
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39363956
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpert,

Так в чем у тебя проблема то?
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364145
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот КОД
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 // Поиск картины по автору
	String^ Search = textBox1->Text; // Забираем из textBox1 ФИО автора
	SqlCommand^ Comanda = gcnew SqlCommand("StoredProcedure1",ConnectionDB); // Создаем команду, в поле текста вводим имя процедуры в БД
	Comanda->CommandType = CommandType::StoredProcedure; //Задаем тип команды (процедура!)
	Comanda->Parameters->Clear();
	Comanda->Parameters->AddWithValue("Search", Search); // Задаем параметр для процедуры. Сама процедура хранится в БД, в папке «Хранимые процедуры»

	 DataTable^ DT = gcnew DataTable(); // Подготавливаем таблицу
	 DT->Columns->Add("Код");
	 DT->Columns->Add("ФИО");
	
	 //===============

	 SqlDataReader^ Reader = Comanda->ExecuteReader(); // Открываем Reader и читаем данные, которые вернет процедура
	 while(Reader->Read())
	 {
	 DT->Rows->Add(Reader->GetValue(0));
	 }
	 Reader->Close(); 
	 dataGridView1->DataSource = DT;

			 }


А вот процедура
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ALTER PROCEDURE dbo.StoredProcedure1 (@Search varchar(100))
	/*
	(
	@parameter1 int = 5,
	@parameter2 datatype OUTPUT
	)
	*/
AS
SELECT * FROM Автор WHERE (ФИО LIKE @Search)
	/* SET NOCOUNT ON */
	RETURN


НО не работает

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364158
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpertНО не работаетЧем докажешь? Что именно не работает?
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364161
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибок нет, просто не выдаёт данные
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364162
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpertхочу что то типа этого
"name", "%" + textBox1->Text + "%";
хотел типа обрамить процентами, но забыл
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364166
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpert, под дебагом смотрел, может просто данных и нет в бд?
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364168
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Данные есть.
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364171
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpertДанные есть.
где в таблице или в дебаге? сколько строк возвращается? Что показывает SQL Profiler?
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364172
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто интересно, почему выбран managed c++ а не C#
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364173
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что предпринято для локализации проблемы?
Процедура работает, если ее просто вызвать из SQL-студии и задать параметр вручную?
Код работает, если в процедуру тупо прописать SELECT 1?

Мы же не можем за вас это сделать, а вы хотите услышать волшебный рецепт, вместо отладки
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364175
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Данные хранятся в таблице Автор, БД sqlexpress

Running [dbo].[StoredProcedure1] ( @Search = П ).

ID_Автор ФИО
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
No rows affected.
(0 row(s) returned)
@RETURN_VALUE = 0
Finished running [dbo].[StoredProcedure1].
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364177
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpert@Search = Па в таблице есть запись ФИО="П"
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364178
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Есть, есть П и отдельно Пушкин
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364179
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно чтобы если хоть одна буква совпала, выдать строку где есть эта буква
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364181
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpertнужно чтобы если хоть одна буква совпала, выдать строку где есть эта буква 19988541
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364183
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Всем большое спасибо, особенно Shocker.Pro , проблему решил, все выдает
вот что предпринял SELECT * FROM Автор WHERE (ФИО LIKE '%'+@Search+'%' )
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364185
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voxpert,

так почему с++ ?
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364187
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Var79,

поддерживает некоторые функции, которые не реализованы в сишарпе
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364192
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос, как выяснилось, был вообще был в ветку SQL, а ответ содержался в первом же сообщении автора
...
Рейтинг: 0 / 0
хранимая процедура с параметром
    #39364214
voxpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

не знаете что тут не правильно?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ALTER PROCEDURE dbo.StoredProcedure4 
(@date1 date)
/*(@date2 date)
	/*
	(
	@parameter1 int = 5,
	@parameter2 datatype OUTPUT
	)
	*/
AS SELECT * FROM Выдача WHERE (Дата_Выдачи Between @date1 And @date2)
	/* SET NOCOUNT ON */
	RETURN
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / хранимая процедура с параметром
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]