我有_bstr_t
字符串,我有wchar_t
一个unsigned int
我想放入字符串的变量......
_bstr_t strCnn("Driver={SQL Server};Server=some_host,some_port;Database=some_db;User ID=some_user;Password=some_psw;");
wchar_t *host,
unsigned int port,
wchar_t *db_name,
wchar_t *user,
wchar_t *password,
我将这 5 个变量传递给进行连接的函数。你能指导我如何将它们插入连接字符串。
我试过这样:
wstring ws(host);
string host_str(ws.begin(), ws.end());
wstring ws_db(db_name);
string db_str(ws_db.begin(), ws_db.end());
wstring ws_user(user);
string user_str(ws_user.begin(), ws_user.end());
wstring ws_psw(password);
string psw_str(ws_psw.begin(), ws_psw.end());
std::string port_str = std::to_string(port);
_bstr_t strCnn("Driver={SQL Server};Server="+host_str+","+port_str+";Database="+db_str+";User ID="+user_str+";Password="+psw_str+";");
但它说:
Error E0289 no instance of constructor "_bstr_t::_bstr_t" matches the argument list
Error C2664 '_bstr_t::_bstr_t(const _bstr_t &) throw()': cannot convert argument 1 from 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' to 'const char *'