请达人看看这段更新代码有什么错?我用delphi的sqlexplore都不行。。。

lin_yu_compal 2008-07-11 06:57:32
这段代码使用ado连接ACCESS的,然而在后面更新记录的时候一直更新不进去。。。
sdasc是表名,asc,project,datea,dateb,tester,id是列名,我用的是access数据库,开始还能更新,后来就一次也更新不了。

CString m_strUpdate;
m_strUpdate.Format("update sss set asc='2',project='1',utility='2007-8-9',datea='2007-8-9',dateb='2008-8-9',tester='a' where id=1");



这是源码:
void CSdManagerView::OnUpdate()
{
m_wndGrid.SetCol(0);
m_wndGrid.SetRow(m_nIndex);
CString str1 = m_wndGrid.GetText();

CString m_strUp;
m_strUp.Format("select * from sd_asc where ID=%s",str1);

CAdoRecordSet rset;
rset.SetAdoConnection(&(GetDocument()->m_adoConnection));
rset.Open(m_strUp);


int ncol = rset.GetFields()->Count;
CString upData[10];

for (int i = 0; i < ncol; i++)
{
rset.GetValueString(upData[i], (long)(i));
}
//rset.Close();

globalUpdate.m_strID = upData[0];
globalUpdate.m_strASC = upData[1];
globalUpdate.m_strProject = upData[2];
globalUpdate.m_strUtility = upData[3];
globalUpdate.m_strDateStart = upData[4];
globalUpdate.m_strDateEnd = upData[5];
globalUpdate.m_strTester = upData[6];
globalUpdate.m_strTest = upData[7];
globalUpdate.m_strIssue = upData[8];


CString m_strUpdate;
CUpdateDlg dlg;
if (dlg.DoModal() == IDOK)
{
SdUser.m_strID = dlg.m_strID;
SdUser.m_strASC = dlg.m_strAscUp;
SdUser.m_strProject = dlg.m_strProjectUp;
SdUser.m_strUtility = dlg.m_strUtiUp;
SdUser.m_strTester = dlg.m_strTesterUp;
SdUser.m_strTest = dlg.m_strTestUp;
SdUser.m_strIssue = dlg.m_strIssueUp;
SdUser.m_strDateStart = dlg.m_strStartUp;
SdUser.m_strDateEnd = dlg.m_strEndUp;


m_strUpdate = SdUser.m_strID;
long m_nID = atoi(m_strUpdate.GetBuffer(10));
m_strUpdate.Format("update sd_asc set Asc='%s',Project='%s',Utility='%s',Date_Start='%s',Date_End='%s',Tester1='%s',Test_Report='%s',IssueReport='%s', where ID=%d",SdUser.m_strASC, SdUser.m_strProject,SdUser.m_strUtility,SdUser.m_strDateStart,SdUser.m_strDateEnd,SdUser.m_strTester,SdUser.m_strTest,SdUser.m_strIssue,m_nID);
}
CAdoRecordSet rset1;
rset1.SetAdoConnection(&(GetDocument()->m_adoConnection));
rset1.Open(m_strUpdate);
}
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2008-07-17
  • 打赏
  • 举报
回复
提示什么错误信息?
lin_yu_compal 2008-07-17
  • 打赏
  • 举报
回复
很奇怪哦,使用的是cstring,使用format或是+连接的字符串都不能很好执行,只有直接赋值才可以,郁闷死了。。。
wwwwb 2008-07-14
  • 打赏
  • 举报
回复
详细说明字段类型
m_strUpdate.Format("update sss set asc='2',[project]='1',[utility]=#2007-8-9#,datea=#2007-8-9#,dateb=#2008-8-9#,
tester='a' where id=1");
ccssddnnhelp 2008-07-11
  • 打赏
  • 举报
回复

你的日期是什么型,如果是date则

update sss 
set asc='2',
project='1',
utility=#2007-8-9#,
datea=#2007-8-9#,
dateb=#2008-8-9#,
tester='a'
where id=1
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
lin_yu_compal 2008-07-11
  • 打赏
  • 举报
回复
使用了成真的ADO封装类。。。

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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