Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 04.01.2019, 14:47   #1
student772
Пользователь
 
Регистрация: 02.01.2019
Сообщений: 12
Репутация: 10
По умолчанию Недопустимое имя столбца

Есть БД, созданная в среде SQL Server Management Studio.
Подключаю её в Visual Studio
Пытаюсь сделать поиск по номеру бланка, который выводит мне сделку с клиентом с этим номером бланка. Не выводятся сделки с выбранным номером бланка. В БД у каждого номера бланка есть сделка. То есть просто не выводится то, что я хочу увидеть
Сделки и клиенты в БД есть.
Вот код кнопки:
Код:

	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
			 {

		int combo1=comboBox1->SelectedIndex;
		String^ sID = dataGridView1->Rows[combo1]->Cells[0]->Value->ToString();
		int nID=System::Convert::ToInt32(sID);

		 String^ dbf = Application::StartupPath +"\\notarius.sdf";
			stDataSource = "Data Source = '" + dbf + "';"; //защита бд
			engine = gcnew SqlCeEngine(stDataSource);
			connection = gcnew SqlCeConnection(engine->LocalConnectionString);
			connection->Open();

			SqlCeCommand^ command2 = connection->CreateCommand();
			command2->CommandText = "Select Нотариальное_действие.Номер_действия, Клиент.ID_клиента, Нотариус.ID_нотариуса, Содержание_сделки.ID_названия, Нотариальное_действие.Дата_совершения_сделки, Место_сделки.Код_места, Нотариальное_действие.Количество_документов, Нотариальное_действие.Номер_и_серия_бланка, Нотариальное_действие.Пошлина, Льгота.Код_льготы" +
			" From Нотариальное_действие, Клиент, Нотариус, Содержание_сделки, Место_сделки, Льгота  WHERE Номер_и_серия_бланка = ? AND Нотариальное_действие.ID_клиента = Клиент.ID_клиента AND Нотариальное_действие.ID_нотариуса=Нотариус.ID_нотариуса AND Нотариальное_действие.ID_названия=Содержание_сделки.ID_названия AND Нотариальное_действие.Код_места=Место_сделки.Код_места AND Нотариальное_действие.Код_льготы=Льгота.Код_льготы ";
			/*"From Нотариальное_действие WHERE Нотариальное_действие.Номер_и_серия_бланка = ?";*/
			command2->Parameters->Add("Номер_и_серия_бланка", nID);
			SqlCeDataReader^ read2 = command2->ExecuteReader();

      		DataTable^ dt3;
			dt3 = gcnew DataTable();

		// Заполнение "шапки" таблицы
		dt3->Columns->Add("Номер_действия");
		dt3->Columns->Add("ФИО_клиента");
	    dt3->Columns->Add("ФИО_нотариуса");
		dt3->Columns->Add("Описание_сделки");
		dt3->Columns->Add("Дата_совершения_сделки");
		dt3->Columns->Add("Адрес_сделки");
		dt3->Columns->Add("Количество_документов");
		dt3->Columns->Add("Номер_и_серия_бланка");
		dt3->Columns->Add("Государственная_пошлина");
		dt3->Columns->Add("Название_льготы");


	    while (read2->Read() == true)
        // Заполнение клеток (ячеек) таблицы
	    {
			dt3->Rows->Add(read2->GetValue(0), 
				read2->GetValue(1),
				read2->GetValue(2),
				read2->GetValue(3),
				read2->GetValue(4),
				read2->GetValue(5),
				read2->GetValue(6),
				read2->GetValue(7),
				read2->GetValue(8),
				read2->GetValue(9));
	    }
		   
		read2->Close();  
		dataGridView2->DataSource = dt3;
			 }

Изображения
Тип файла: png бланк3.png (17.1 Кб, 14 просмотров)

Последний раз редактировалось student772; 04.01.2019 в 16:44.
student772 вне форума   Ответить с цитированием
Старый 04.01.2019, 16:37   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,611
Репутация: 1780
По умолчанию

http://programmersforum.ru/showthread.php?t=325731
waleri вне форума   Ответить с цитированием
Старый 04.01.2019, 16:52   #3
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,266
Репутация: 6449
По умолчанию

А чего оно у тебя явно строковое 1.19, а параметр int передаешь?
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 04.01.2019, 17:19   #4
student772
Пользователь
 
Регистрация: 02.01.2019
Сообщений: 12
Репутация: 10
По умолчанию

Так а что мне поменять в этих строках, чтобы nID передать строковое значение, если combo1 int, а текстбоксов нет?
Код:

int combo1=comboBox1->SelectedIndex;
		String^ sID = dataGridView1->Rows[combo1]->Cells[0]->Value->ToString();
		int nID=System::Convert::ToInt32(sID);

student772 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить имя столбца или диапазона sanych_09 Microsoft Office Excel 10 19.07.2015 14:41
Имя столбца по порядковому номеру Марк Охман БД в Delphi 3 04.11.2010 11:35
Имя столбца bsa785 Microsoft Office Excel 4 29.06.2010 10:01
Задать имя столбца в формуле Posokhoff Microsoft Office Excel 1 25.10.2007 20:08
Имя столбца Nurik Microsoft Office Excel 2 09.04.2007 09:31


07:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru