没有重复值的组合框 - Visual Studio 2013 C++ 和 MySql
comboBox without duplicated values - Visual Studio 2013 C++ and MySql
我有一个包含 visual studio windows 形式的 C++ 连接到 mysql 的 0 错误程序。一切正常!
问题是:我有一个组合框,它从我想要的列中获取信息,但该列不是主键,因此它有重复的或更多的值。
如何在组合框中只显示每个值的一个值?
全部 !
组合框代码:
private: void Fillcombo(void) {
String^ constring = L"datasource=127.0.0.1;port=3306;username=root;password=12345";
MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);
MySqlCommand^ cmdDataBase = gcnew MySqlCommand("select * from batcel.maq_corte;", conDataBase);
MySqlDataReader^ myReader;
try{
conDataBase->Open();
myReader = cmdDataBase->ExecuteReader();
while (myReader->Read()){
String^vResponsavel;
vResponsavel = myReader->GetString("id_responsavel");
comboBox2->Items->Add(vResponsavel);
我不太熟悉 c++ cli 语法,但我可以在这里为您提供解决方案。
您可以使用列表容器来存储列中的值。但是在插入一个值之前先检查该值是否存在于列表中。如果没有插入值并将其显示在组合框中。
例如..
//This is just a pseudo code
list(string) somelist;
while (read){
String value;
value= read->GetString("id_responsavel");
if(! somelist.find(value)
{
somelist.insert(value);
combobox.add(value);
}
或者你可以修改SQL请求:
select * 来自 batcel.maq_corte 按 id_responsavel
分组
我有一个包含 visual studio windows 形式的 C++ 连接到 mysql 的 0 错误程序。一切正常!
问题是:我有一个组合框,它从我想要的列中获取信息,但该列不是主键,因此它有重复的或更多的值。
如何在组合框中只显示每个值的一个值? 全部 !
组合框代码:
private: void Fillcombo(void) {
String^ constring = L"datasource=127.0.0.1;port=3306;username=root;password=12345";
MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);
MySqlCommand^ cmdDataBase = gcnew MySqlCommand("select * from batcel.maq_corte;", conDataBase);
MySqlDataReader^ myReader;
try{
conDataBase->Open();
myReader = cmdDataBase->ExecuteReader();
while (myReader->Read()){
String^vResponsavel;
vResponsavel = myReader->GetString("id_responsavel");
comboBox2->Items->Add(vResponsavel);
我不太熟悉 c++ cli 语法,但我可以在这里为您提供解决方案。
您可以使用列表容器来存储列中的值。但是在插入一个值之前先检查该值是否存在于列表中。如果没有插入值并将其显示在组合框中。
例如..
//This is just a pseudo code
list(string) somelist;
while (read){
String value;
value= read->GetString("id_responsavel");
if(! somelist.find(value)
{
somelist.insert(value);
combobox.add(value);
}
或者你可以修改SQL请求:
select * 来自 batcel.maq_corte 按 id_responsavel
分组