问题描述
MyCommand=NewOleDbCommand("UPDATEtbManagerSETManagerName='"&Trim(TxtName.Text)&"',PassWword='"&Trim(TxtPassWord.Text)&"',Status='"&Trim(ComStatus.Text)&"',CellPhone='"&Trim(TxtCellPhone.Text)&"',Email='"&Trim(TxtEmail.Text)&"',Corporation='"&Trim(TxtCorporation.Text)&"',AdminRights='"&Trim(ComAdmin.Text)&"',GeneralRights='"&Trim(ComGeneral.Text)&"'WHEREManagerName='"&Trim(TxtName.Text)&"'",oleconn)
解决方案
解决方案二:
你就不能debug下,然后贴出运行时实际生成的sql么……
解决方案三:
PassWword='"两个W
解决方案四:
正常这种情况,你设定一个变量,比如sqlStr,DIMsqlStrasStringsqlStr="UPDATEtbManagerSETManagerName='"&Trim(TxtName.Text)&"',PassWword='"&Trim(TxtPassWord.Text)&"',Status='"&Trim(ComStatus.Text)&"',CellPhone='"&Trim(TxtCellPhone.Text)&"',Email='"&Trim(TxtEmail.Text)&"',Corporation='"&Trim(TxtCorporation.Text)&"',AdminRights='"&Trim(ComAdmin.Text)&"',GeneralRights='"&Trim(ComGeneral.Text)&"'WHEREManagerName='"&Trim(TxtName.Text)&"'"MyCommand=NewOleDbCommand(sqlStr,oleconn)这样的话,debug模式启动,查看sqlStr的sql文是什么,复制下来,上数据库工具中去调试,我想你会发现问题的!
解决方案五:
自己要学会调试程序,加断点!
解决方案六:
对于字符串常量,要把单引号替换为两个单引号;对于其它类型常量(假设sql中用到的话),要先将string解析(parse)为相应类型对象,然后再重新ToString用到sql中。这才能保证符合t-sql的起码要求。保证在单引号上没有问题了,再调试你的sql语句,贴出调试截图。这才是开发方法。
解决方案七:
加断点、监控把生成的SQL语句到SQL查询窗口中试验一下就知道了
解决方案八:
如果懒得断点,你至少messagebox.show一下SQL语句,错误更容易被发现……