Problem ze zmienną

0
// Połączenie z MySQL itp

const char* sql_active = (const char*)Runtime::InteropServices::Marshal::StringToHGlobalAnsi("SELECT * FROM dane").ToPointer( );
query_state = mysql_query(&mysql, sql_active);
result = mysql_store_result(connection);
// Config
string Config[2];
int lp = 1;
      while(row = mysql_fetch_row(result))
     {
		if((row[0]) != NULL )
		{
			Config[lp] =  row[2];
			lp++;
		}
    }

if(Config[2] == "nie")
 {
    string wiadomosc = Config[1];
    MessageBox::Show( gcnew String(wiadomosc), "Program" , MessageBoxButtons::OK, MessageBoxIcon::Information);
 } 
							 
mysql_close(&mysql);

Niestety wywala bląd:

error C2664: 'System::String::String(const wchar_t *)' : cannot convert parameter 1 from 'std::string' to 'const wchar_t *'
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Program działa do momenty wklejenia zmiennej w MessageBox
Proszę o pomoc

0

LOL
Z jakiegoś .NETowego connectora skorzystać nie możesz? Po jaką cholerę w ogóle C++/CLI do tego używać?

0

wiadomosc.c_str()

0

Dzięki, działa :)

0
const char* sql_active = (const char*)Runtime::InteropServices::Marshal::StringToHGlobalAnsi("SELECT * FROM dane").ToPointer( );

Echhh.... a po co to w ogóle?

const char* sql_active = "SELECT * FROM dane";

LOL
To jakaś wrodzona nienawiść do C++/CLI?

0

Eh, wiem bo kopiowałem to z poprzedniej zmiennej, w której była zmienna.

String^ zapytanie = gcnew String("SELECT * FROM konta WHERE nazwa = '"+ login +"'");
const char* sql = (const char*)Runtime::InteropServices::Marshal::StringToHGlobalAnsi(zapytanie).ToPointer( );
query_state = mysql_query(&mysql, sql);

;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1