尝试SqlConnection时收到错误C2440

时间:2019-02-03 13:04:19

标签: winforms visual-c++ c++-cli

获取

  

错误C2440:“正在初始化”:无法从   'System :: Data :: SqlClient :: SqlConnection'   'System :: Data :: SqlClient :: SqlConnection ^'

此行

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

想知道为什么我会收到此错误,以及如何使用Visual c ++,winform ui修复该错误

1 个答案:

答案 0 :(得分:1)

该错误消息应明确指出出了什么问题。您只需要仔细看,因为这是单个字符的区别。再次消除噪音:

  

无法从'SqlConnection'转换为'SqlConnection ^'

看到末尾的^字符了吗?编译器说它不能从对象(SqlConnection)转换为托管的指向对象的指针(SqlConnection^)。

要创建托管的对象指针,可以使用gcnew运算符:

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

或者,如果您实际上不需要指针,只需更改con变量的类型:

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

有关更多详细信息,请参见:What does the caret (‘^’) mean in C++/CLI?