VC通过ADO连接的SQLServer 怎么向数据库中插入空值?

我在数据库里有一个datetime类型的字段,有时不想给他传入值,但是程序已经绑定该列了,不传值不行,当他应该为空时,我应该在Edit控件或时间控件里输入什么才能给他传进... 我在数据库里有一个datetime类型的字段,有时不想给他传入值,但是程序已经绑定该列了,不传值不行,当他应该为空时,我应该在Edit控件或时间控件里输入什么才能给他传进去空值呢?

我的代码是这样的:

CRsContractAndSeal rsCS; //class CRsContractAndSeal : public CADORecordBinding
if(dlg.DoModal() == IDOK)
{
strcpy(rsCS.m_sz_RegisterDate,dlg.m_Edit1);
strcpy(rsCS.m_sz_UseWhat,dlg.m_Edit2);
strcpy(rsCS.m_sz_DoWhat,dlg.m_Edit3);
strcpy(rsCS.m_sz_UserName,dlg.m_Edit4);
}
else
{
return false;
}

try
{
pCon.CreateInstance(__uuidof(Connection));
pRs.CreateInstance(__uuidof(Recordset));

if(pCon->GetState()==adStateClosed)
pCon->Open(strSQL,"",strPASS,-1);

pRs->CursorType = adOpenStatic;
pRs->CursorLocation = adUseClient;
pRs->Open((_variant_t)FormBook,_variant_t((IDispatch *)pCon, true),adOpenKeyset,adLockOptimistic,adCmdTable);
rsCS.FillFieldsArray(vaFieldlist, vaValuelist);
pRs->AddNew(vaFieldlist, vaValuelist);

vaFieldlist.Clear();
vaValuelist.Clear();
bResult =true;
pRs->Close();
}
catch (_com_error& e)
{
AfxMessageBox("添加失败!请注意日期等数据格式。");
AddData();
}
if(pCon->GetState() == adStateOpen)
pCon->Close();

我在Edit控件里输入各种null和<NULL>都不行,时间控件里选择任何日期也都不能传进去<NULL>,求高手讲解!!!!!
展开
 我来答
888atao
2011-10-12 · TA获得超过330个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:303万
展开全部
把控件设置成一个无效的日期就可以了,比如1900-01-01
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
z252804084
2011-10-17
知道答主
回答量:9
采纳率:0%
帮助的人:1.5万
展开全部
ds adas
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式