Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Есть БД, созданная в среде 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 Кб, 53 просмотров)

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

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

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

Так а что мне поменять в этих строках, чтобы nID передать строковое значение, если combo1 int, а текстбоксов нет?
Код:
int combo1=comboBox1->SelectedIndex;
		String^ sID = dataGridView1->Rows[combo1]->Cells[0]->Value->ToString();
		int nID=System::Convert::ToInt32(sID);
student772 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить имя столбца или диапазона sanych_09 Microsoft Office Excel 10 19.07.2015 13:41
Имя столбца по порядковому номеру Марк Охман БД в Delphi 3 04.11.2010 10: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