Midnight-Ghost |
07-05-2007 04:39 583866 |
Переменная внутри цетирования(на С++), помогите плиз
Есть следущая проблема
Код:
if(mysql_query(conn, "CREATE TABLE menu_"СЮДА НАДО ВСТАВИТЬ ПЕРЕМЕННУЮ" (id_menu INT NOT NULL, caption VARCHAR(50))"))
{
cout<<"Error creating table"<<endl;
}
как реализовать такое? как внутри цетирования всунуть переменную?
|
EvgeniyQQQ |
07-05-2007 14:01 584042 |
Если я правильно понял ваш вопрос. Необходимо создать строковую переменную, в которую вы поместите первую часть комментария, затем добавите вторую, затем третью.
Можно так:
Код:
char s[256] = "";
memcpy(s,"CREATE TABLE menu_",strlen("CREATE TABLE menu_"));
memcpy(&s[strlen("CREATE TABLE menu_")],"СЮДА НАДО ВСТАВИТЬ ПЕРЕМЕННУЮ", strlen("СЮДА НАДО ВСТАВИТЬ ПЕРЕМЕННУЮ"));
memcpy(&s[strlen("СЮДА НАДО ВСТАВИТЬ ПЕРЕМЕННУЮ")]," (id_menu INT NOT NULL, caption VARCHAR(50))", strlen(" (id_menu INT NOT NULL, caption VARCHAR(50))"));
В MFC можно так:
Код:
CString str;
str = "CREATE TABLE menu_";
str+="СЮДА НАДО ВСТАВИТЬ ПЕРЕМЕННУЮ";
str+=" (id_menu INT NOT NULL, caption VARCHAR(50))";
//и потом так str.GetBuffer();
|
я бы сделал так:
Код:
#include <sstream>
some_type my_var;
...
std::ostringstream sql;
sql << "Create table menu_" << my_var << "(id_menu INT NOT NULL, caption VARCHAR(50))";
if (... sql.str().c_str()) ...
|
Время: 08:52.
© OSzone.net 2001-