C++ 无法按列的名称从sql表中提取数据。给出了错误。只能按列数执行相同操作

C++ 无法按列的名称从sql表中提取数据。给出了错误。只能按列数执行相同操作,c++,sql,C++,Sql,它给出一个错误-“无法将参数1从常量字符转换为int” 但是这个执行没有任何错误 while(quer->Read()){ label1->Text += quer->GetInt32(1)+"\n"; } 有什么问题?输入列的名称如何获取数据?如您的代码所示: while(quer->Read()){ label1->Text += quer->GetString("name")+"\n";

它给出一个错误-“无法将参数1从常量字符转换为int”

但是这个执行没有任何错误

while(quer->Read()){                
label1->Text += quer->GetInt32(1)+"\n";
}
有什么问题?输入列的名称如何获取数据?

如您的代码所示:

while(quer->Read()){                
label1->Text += quer->GetString("name")+"\n";
}
您正在
GetString()
函数中使用
string

但是这个函数的声明是错误的

对于C++,使用<代码>公共语言运行时(CLR) >可以参考

因此,您必须尝试以下代码才能从给定列中获取字符串

 while(quer->Read()){                
    label1->Text += quer->GetString(1)+"\n";
    }

希望这能对您有所帮助。

SqlCommand^comd=gcnewsqlcommand(“select*from dbo.students-order by-name asc;”,cond);我的意思是说它是
SQLQuery
的对象还是别的什么?SqlCommand^comd=gcnewsqlcommand(“select*from dbo.students order by name asc;”,cond);SqlDataReader^query=comd->ExecuteReader();谢谢但我在问题中提到,我可以通过GetString(1)获取数据。我需要按列的名称获取数据。可能吗?我不久前就在做这件事。但现在,当我尝试做同样的事情时,它给出了一个错误。问题出在哪里?@user3306372抱歉您提到了
GetInt32(1)
请更改问题代码抱歉。但是如何使用列名称获取数据?@user3306372使用
SqlDataReader
是不可能的,因为它没有在MSDN中记录。这怎么可能呢?
 while(quer->Read()){                
    label1->Text += quer->GetString(1)+"\n";
    }