MFC向MySQL数据库写入数据,中文乱码怎么解决

MFC向MySQL数据库写入数据,中文乱码怎么解决,第1张

① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql

② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……

具体 *** 作为:打开mysql安装目录下的myini.tet;

找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;

③ 重启MySQL服务器,在运行窗口输入:net start mysql

④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了!

mysql向数据库添加数据

一、添加MySQL数据库1.点击“数据库(MySQLDatabases)”,进入到数据库设置界面: 2.在“生成新的数据库”下输入数据库名,然后点击“生成数据库”按钮: 3.数据库已经添加,点击 “回到/返回”,回到数据库设置页面: 二、添加MySQL用户 1.在添加新用户下,填写用户名和密码,最后点击“生成用户”: 2.MySQL用户添加成功,点击“返回”回到数据库设置页面: 三、关联MySQL数据库和用户 1.在“向数据库添加用户”下,选择刚才添加的MySQL数据库和用户,点击“添加”: 2.勾选MySQL用户的权限,一般都是我们自己使用,建议全选,点击更改: 3.MySQL数据库和用户关联成功 ,点击“返回”回到数据库设置页面: 4.此时在“当前数据库”就可以看到关联号的MySQL数据库和用户: 到这里为止,cPanel成功添加了MySQL数据库,本文演示创建的数据库信息如下: 服务器一般为 7640 向mysql数据库中插入数据时显示“Duplicate entry 1′ for key ‘PRIMARY ”错误 在一张数据表中是不能同时出现多个相同主键的数据的 这就是错误的原因,解决的方法: 1.可以将这张表设置成无主键(mysql支持,其他不清楚)不推荐使用这种方法,一般数据表都是需要有主键的。 2.可以设置一个自增的id号作为主键,其余数据就可以相同了!

_RecordsetPtr pRecordset = m_conn.GetRecordSet(strSql)

// strPicContent 插入数据指针

if (pRecordset->RecordCount != 0)

{

pRecordset->MoveLast()

}

pRecordset->AddNew()

pRecordset->PutCollect(_T("Field1"), _variant_t(strPicPath))

pRecordset->PutCollect(_T("Field2"), _variant_t(strPicType))

pRecordset->PutCollect(_T("Field3"), _variant_t(nPicIndex))

pRecordset->PutCollect(_T("Field4"), _variant_t(strFirstUrl))

pRecordset->PutCollect(_T("Field5"), _variant_t(strParentUrl))

VARIANT varBLOB

SAFEARRAY *psa

SAFEARRAYBOUND rgsabound[1]

rgsabound[0].lLbound = 0

rgsabound[0].cElements = (ULONG)llPicCapacity

// 创建SAFEARRAY对象

psa = SafeArrayCreate(VT_UI1, 1, rgsabound)

for (long i = 0i <(long)llPicCapacityi++)

{

// 将strPicContent指向的二进制数据保存到SAFEARRAY对象psa中

SafeArrayPutElement(psa, &i, strPicContent+i)

}

// 将varBLOB的类型设置为BYTE类型的数组

varBLOB.vt = VT_ARRAY | VT_UI1

// 为varBLOB变量赋值

varBLOB.parray = psa

// 加入BLOB类型的数据

pRecordset->GetFields()->GetItem("Field6")->AppendChunk(varBLOB)

::VariantClear(&varBLOB)

pRecordset->PutCollect(_T("Field7"),

_variant_t((long long)llPicCapacity))

int nCount = pRecordset->RecordCount

pRecordset->Update()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11657198.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存