威尼斯www.9778.com-威尼斯正版官方网站

求助 cannot convert parameter 4 from 'char [260]' to 'LPCTSTR'

日期:2019-12-25编辑作者:编程人生

CDatabasedb;charDB[MAX_PATH];sprintf(DB,"ODBC;DSN=User_odbc;UID="",PWD=""");//LPCTSTRch=(LPCTSTR)DB[MAX_PATH];//db.Open(NULL,FALSE,FALSE,ch);db.Open(NULL,FALSE,FALSE,DB);//db.Open(NULL,false,false,"ODBC;UID="";PWD=""",true);错误'CDatabase::Open':cannotconvertparameter4from'char[260]'to'LPCTST福特Explorer'请问那怎么改???用VS二〇〇七编写翻译的MFC工程与数据库ACCESS连接的代码要用Unicode字符集进行可是不领悟怎么改?求助

参与头文件 :#include <odbcinst.h>/#include "afxdb.h"

ODBC(开放数据库互连卡塔尔(قطر‎:是Microsoft引入的风姿洒脱种早期数据库接口本事。它事实上是ADO的前身。初期的数据库连接是不行困难的. 每一种数据库的格式都不均等,开采者得对他们所开辟的每一种数据库的底层API有深入的通晓. 因而,能管理百废待举数据库的通用的API就涌出了. 也正是今天的ODBC(Open Database Connectivity卡塔尔(英语:State of Qatar), ODBC是大家在开立通用API的开始时期付加物. 有很四种数据库遵从了这种专门的学问,被叫作ODBC包容的数据库. 

1下载MysqlODBC驱动

OLEDB(对象链接和松手数据库卡塔尔坐落于ODBC层与应用程序之间. 在你的ASP页面里,ADO是身处OLEDB之上的"应用程序". 你的ADO调用先被送到OLEDB,然后再交由ODBC管理. 你能够间接连接到OLEDB层,假使您这么做了,你将看见服务器端游标(recordset的缺省的游标,也是最常用的游标卡塔尔(قطر‎品质的升高.

2 ODBC;DSN=VPtest;UID=root;PWD=123456;CharSet=gbk(CharSet=gbk卡塔尔消除汉语乱码难题!

用odbc连接数据库: 
odbc中提供三种dsn,它们的界别超级轻松:客商dsn只可以用于本客户。系统dsn和文件dsn的不相同只留意连接新闻的存放地点差别:系统dsn寄存在odbc积累区里,而文件dsn则放在三个文书文件中。 
它们的始建方法就背着了。 
在asp中应用它们时,写法如下: 
A.sql server: 
用系统dsn: connstr="DSN=dsnname; UID=xx; PWD=xxx;DATABASE=dbname" 
用文件dsn: connstr="FILEDSN=xx;UID=xx; PWD=xxx;DATABASE=dbname" 
还可以用三番两遍字符串(进而不用再建设布局dsn卡塔尔(قطر‎: 
connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xx;PWD=xxx" 
B.access: 
用系统dsn: connstr="DSN=dsnname" 
(或者为:connstr="DSN=dsnname;UID=xx;PWD=xxx") 
用文件dsn: connstr="FILEDSN=xx" 
还足以用再三再四字符串(进而不用再创设dsn卡塔尔: 
connstr="DRIVER={Microsoft Access Driver};DBQ=d:abcabc.mdb" 

*   (Mysql字符集utf8)*

用oledb连接数据库: 
A.sql server: 
connstr="PROVIDER=SQLOLEDB; 
DATA SOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname" 
B.access: 
connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0; 
DATA SOURCE=c:abcabc.mdb"
值得注意的是,OLE DB对ODBC的宽容性,允许OLE DB访谈现成的ODBC数据源。其独特之处很显眼,由于ODBC相对OLE DB来讲使用得更其宽广,因而得以拿到的ODBC驱动程序相应地要比OLE DB的要多。那样不必然要拿到OLE DB的驱动程序,就足甚至时访谈原来的数据系统。
提供者坐落于OLE DB层,而驱动程序坐落于ODBC层。假若想行使多个ODBC数据源,须要接受针对ODBC的OLE DB提供者,它会跟着使用相应的ODBC驱动程序。假诺无需动用ODBC数据源,那么可以行使相应的OLE DB提供者,那个平淡无奇号称当地提供者(native provider)。
能够精通地来看使用ODBC提供者意味着须要叁个格外的层。由此,当访问同豆蔻年华的数量时,针对ODBC的OLE DB提供者大概会比当地的OLE DB提供者的进程慢一些。

 

CString Sqlstr = "Select * from admin;";
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=VPtest;UID=root;PWD=123456;CharSet=gbk");
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly, (L"%s", Sqlstr));
short nFields = rs.GetODBCFieldCount();
while(!rs.IsEOF()){
  rs.GetFieldValue("password", Sqlstr);
  rs.GetFieldValue("admin", Sqlstr);
  rs.GetFieldValue("username", Sqlstr);
  rs.MoveNext();
}
rs.Close();
db.Close();

本文由威尼斯www.9778.com发布于编程人生,转载请注明出处:求助 cannot convert parameter 4 from &#x27;char [260]&#x27; to &#x27;LPCTSTR&#x27;

关键词:

求助:MFC静态嵌套拆分窗口的问题

在初始分隔四个视图,然后左上视图是树状结构,通过节点改变左下和右下视图;;;;左下视图可以输入数字,并...

详细>>

关于CString CtrlList::GetItemText返回值和CString比较的问题

自己起头化了一个CString对象,CStringb("已审查批准"卡塔尔国;然后在listcontrol列表用GetItemText重返八个CString对象,内容...

详细>>

一步一步学多线程-Timer,多线程-timer

if(g_cdma.ConnectCom(_T("COM"))){HRESULThr;IConnectionPointContainer*pConnectionPointContainer=NULL;IConnectionPoint*pConnectionPoint=NULL;hr=g_cdma.m_...

详细>>

使用Real vnc做远程协助,怎么将受控端返回的远程桌面显示到自

公司最近做远程协助,使用RealVNC的源代码做,源代码返回的是一个win32窗口,我想把win32的窗口,弄成MFC窗口的子窗口...

详细>>