Я построил базу данных в MS Access.
Там у меня есть таблица с именем Customers, в которой также есть ячейка с именем Employee type: integer.
Я также создал программу на C ++, которая контролирует все данные.
Допустим, у меня есть такая строка:
string sqlString = "SELECT * FROM Customers Where Customers.Employee = '" + id + "' ";
Идентификатор проходит через мою функцию правильно и является целым числом, поэтому я получаю сообщение об ошибке при компиляции, говорящее: «Добавление неверного указателя».
Если я объявлю id как строку, конечно, ошибки не будет, но в моей форме также нет результатов. Если я объявлю в ячейке базы данных Employee как текст и построю свой запрос следующим образом:
string sqlString = "SELECT * FROM Customers WHERE Customers.Employee = 128";
Я получаю результаты, но мне нужно, чтобы Employee в качестве целого числа вызывал внешний ключ из другой таблицы.
Итак, что мне делать с моим запросом, чтобы результаты передавали целое число в качестве параметра через переменную id, чтобы быть в порядке с ячейкой Employee из базы данных, которая также является целочисленной?
Есть идеи? Буду очень признателен за помощь.
Как я уже сказал, если я преобразую id в строку, в моей форме не будет результатов, поскольку Employee в базе данных является целым числом. Итак, это:
std::ostringstream buf;
buf << "SELECT * FROM Customers Where Customers.Employee = '" << id << "' ";
string str = buf.str();
не выполнит работу или любое другое преобразование.
Как я могу передать id как целое число в моем запросе?