Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

22.09.2008, 13:11

C++ und mysql

Hallo,

Habe diesen Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
char* sql_nodb (char* host, char* user, char* password, char* query)
{
	/* Private vars defintions */
	MYSQL *mysql=NULL;
	MYSQL_RES *result;
	MYSQL_ROW row;
	char sQuery[1000];
	unsigned int num_fields;
	int i;

  	if ((mysql=mysql_init(mysql)) == NULL) 
	{
    		perror ("Fatal");
		exit(1);
  	}

  	if (!mysql_real_connect(mysql, host, user, password, NULL, 0, NULL, 0)) 
	{
    		perror ("Fatal");
    		exit(1);
  	}
	cout << "\033[32mConnection to database established\033[m"<<endl;

  	strcpy (sQuery, query);
  	if(mysql_exec_sql(mysql,sQuery) == 0) 
	{
    		result = mysql_store_result(mysql);
    		// are there any rows??
    		if (result) 
		{
      			num_fields = mysql_num_fields(result);
      			while ((row = mysql_fetch_row(result))) 
			{
        			for(i = 0; i < num_fields; i++) 
				{
          				cout << row[i]<<endl;
        			}
     			}
      			mysql_free_result(result);
     		}
  	}
	mysql_close(mysql);
	cout << "\033[31mConnection closed\033[m"<<endl;

}


Wie kann ich row umwandeln in eine string oder char* Variable?
Ich würde nämlich gerne mti den Werten von row[0]-row[x] arbeiten...

Danke für die Hilfe

DerRatlose

unregistriert

2

22.09.2008, 17:56

Du könntest den Inhalt von row mit Hilfe von Stringstreams in einen String umwandeln. Ich weiß nicht ob es funktioniert, aber es wäre vielleicht einen Versuch wert:

#include <sstream> // für stringstream

....

MYSQL_ROW row;
stringstream ss;
string s;

....

z << row;
z >> s;

....


Dann hast du row im String. Aber wie gesagt, ich weiß nicht ob es funktioniert.

MfG
DerRatlose

Thema bewerten