菜鸟问题,CString对象的插入 初学数据库编程,请问要把CString对象插入表中,一般使用什么样的数据类型?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在SQL server2000中:如果你的CString的最大长度不超过8000,可以考虑用CHAR,VARCHAR,NCHAR,NVARCHAR;否则用TEXT,NTEXT. 怎样转换为varchar text 呢?SQL语言中的char和C++中的char是一个概念吗? SQL中的字符和C++中的字符是不一样的,如果你的CString对象小于8K,可将表中的对应变量定义为varchar类型(变长)假设你的CString对象叫m_string,在写入数据库时,用_bstr_t(m_string)转型后即可向数据库中写入 void CMultiMediaSDlg::WriteLog( CString strLog ){ CString SystemTime; SystemTime = GetCurrentTimestr(); try { _variant_t ra; m_pConnection->Execute( "IF NOT EXISTS(SELECT * FROM LOG.dbo.sysobjects WHERE name='日志')CREATE TABLE 日志( 日期 varchar(50),记录 varchar(50) )",&ra,adCmdText ); m_pConnection->Execute( "INSERT INTO 日志( 日期,信息 ) VALUES ( _bstr_t(SystemTime),_bstr_t(strLog) )",&ra,adCmdText ); } catch(_com_error e)///捕捉异常 { CString errormessage; errormessage.Format("错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息 } } 代码就是这个样子,表能创建成功,就是插入那两个CString对象的时候弹出出错信息,出错信息 error #3092 _variant_t(SystemTime),_variant_t(strLog)试试 _bstr_t是将数据库内容转换成CString的 问一下png为底图的对话框//上面再加载一个对话框,怎么不行呢? 讨厌的class wizard datagrid记录隔行换背景颜色怎么实现? 关于CRecordset类的一个问题 怎么样用Dao类来修改表中某一个字段的属性,比如我要把字符串字段的最大长度由20增加到80? vc 做一个浏览文件夹的控件 >>>CDocManager::pStaticList->GetHead();错在哪里?? 项目要求,在线求救... 请教在mfc环境下如何把非PDF文件转成PDF 利用管道获取一个程序的输出,不支持unicode宽字节吗? 如何实现文字字符转成图片?? 分割字符串
假设你的CString对象叫m_string,
在写入数据库时,用_bstr_t(m_string)转型后即可向数据库中写入
{
CString SystemTime; SystemTime = GetCurrentTimestr(); try
{
_variant_t ra;
m_pConnection->Execute( "IF NOT EXISTS(SELECT * FROM LOG.dbo.sysobjects WHERE name='日志')CREATE TABLE 日志( 日期 varchar(50),记录 varchar(50) )",&ra,adCmdText );
m_pConnection->Execute( "INSERT INTO 日志( 日期,信息 ) VALUES ( _bstr_t(SystemTime),_bstr_t(strLog) )",&ra,adCmdText );
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
}
代码就是这个样子,表能创建成功,就是插入那两个CString对象的时候弹出出错信息,
出错信息 error #3092
试试 _bstr_t是将数据库内容转换成CString的