Получение ошибки C2440 при попытке SqlConnection - PullRequest
0 голосов
/ 03 февраля 2019

Получение

Ошибка C2440: «инициализация»: невозможно преобразовать из «System :: Data :: SqlClient :: SqlConnection» в «System :: Data :: SqlClient :: SqlConnection ^ '

для этой строки

    SqlConnection^ con = SqlConnection("c:\\project\\project\\database.db");

Хотелось бы узнать, почему я получаю эту ошибку и как ее исправить, я использую Visual C ++, Winform UI

1 Ответ

0 голосов
/ 03 февраля 2019

Сообщение об ошибке должно четко указывать, что происходит не так.Вы просто должны внимательно посмотреть, потому что это разница одного персонажа.Здесь снова, с удаленным шумом:

не может преобразовать из 'SqlConnection' в 'SqlConnection ^'

Видите этот символ ^ в конце?Компилятор говорит, что не может преобразовать объект (SqlConnection) в управляемый указатель на объект (SqlConnection^).

Чтобы создать управляемый указатель на объект, вы должны использоватьоператор gcnew:

SqlConnection^ con = gcnew SqlConnection("c:\\project\\project\\database.db");

Или, если вам на самом деле не нужен указатель, просто измените тип переменной con:

SqlConnection con = SqlConnection("c:\\project\\project\\database.db");

Для получения более подробной информациисм .: Что означает каретка ('^') в C ++ / CLI?

...