执行SQL语句,程序报错3159

_printf 2011-04-12 08:57:07
这个是我类里面的一个函数,我定义了一个全局的类adoconnect

bool CADOCONECT::ExecuteSQL(CString bstrSQL)
{
try
{
if(m_pConnection==NULL)
{
AfxMessageBox(_T("数据库未连接"));
}
m_pConnection->Execute((_bstr_t)bstrSQL,NULL,adCmdText);
return TRUE;

}
catch (_com_error e)
{
CString errormessage;
errormessage.Format(_T("执行SQL语句失败!\r\n错误信息:%s"),e.ErrorMessage());
AfxMessageBox(errormessage);
return FALSE;
}
}



sql.Format(L"INSERT INTO [hotel].[dbo].[information] ([name],[sex],[id],[roomno],[persons],[datein],[dateout],[days],[price],[discount],[disprice],[totalprice],[deposit]) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",m_name,m_sex,m_id,m_roomno,m_persons,strdatein,strdateout,m_days,m_price,m_discount,m_disprice,m_totalprice,m_deposit);
adoconnect.ExecuteSQL(sql);


程序执行到m_pConnection->Execute((_bstr_t)bstrSQL,NULL,adCmdText);的时候就产生了错误,错误号就是3159,IDispatch error # 3159
貌似是截断字符串或者二进制数据
请问下这个怎么解决啊?
...全文
468 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
_printf 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 king_hhuang 的回复:]
nchar表示存储的是Unicode数据类型的字符,每个英文字符都用两个字节
[/Quote]
哦~~~这样啊。。。难怪的!!!谢谢了!!!
King_hhuang 2011-04-12
  • 打赏
  • 举报
回复
nchar表示存储的是Unicode数据类型的字符,每个英文字符都用两个字节
King_hhuang 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 leizhenyu1984 的回复:]
引用 3 楼 king_hhuang 的回复:
你的数据库字段都定义成什么类型的?

请问下,COleDateTime.m_dt是double类型,值是怎么来的?
[/Quote]
就是从1900年1月1日0时开始的天数啊
_printf 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 king_hhuang 的回复:]
你的数据库字段都定义成什么类型的?
[/Quote]
请问下,COleDateTime.m_dt是double类型,值是怎么来的?
_printf 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 king_hhuang 的回复:]
你的数据库字段都定义成什么类型的?
[/Quote]
nchar()
King_hhuang 2011-04-12
  • 打赏
  • 举报
回复
你的数据库字段都定义成什么类型的?
_printf 2011-04-12
  • 打赏
  • 举报
回复
果然是数据类型设置小了。。。奇怪!明明有富余的。。。
_printf 2011-04-12
  • 打赏
  • 举报
回复
网上有说插入的数据长度超过了SQL SERBER设置的字段长度,这里的字段长度是数据类型嘛?
但我设置的有富余

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧