C++连接Access数据库:update语句中where条件用变量的问题

C++连接Access数据库:update语句中where条件用变量的问题,第1张

pConn->Execute("UPDATE table1 SET booknum = booknum-1, where bb = m_id";NULL,adCmdText);

正确的应该是这样的

_bstr_t sql;

CString str, str1; //这里是要修改的数据

sql = "UPDATE table1 set booknum = '"+str1+"'/' " " '/ where bb <= '"+str+'""; 字符串旁边的格式要写对

pConn->Execute(sql;NULL,adCmdText);

这样应该是对了 你试下。。。。

SQL语言中修改表中数据的命令可以使用update。

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;

更新修改语句 update table_name set col_name = xx where col_name = oo。

扩展资料

SQL语言修改数据库,移动数据库文件

ALTER DATABASE Publish SET OFFLINE/将Publish数据库设置为离线(脱机)状态/

ALTER DATABASE Publish

MODIFY FILE

(

NAME = 'Publish_n1'

FILENAME = 'D:\Publishndf'

) /数据库文件位置/

ALTER DATABASE Publish SET ONLINE/将数据库设置为联机状态/

设表中有学生、语文、数学、物理、化学,成绩分别要改成70,80,90,90

update 表名 set 语文 = 70,数学 = 80,物理 = 90,化学 = 90 where 学生 = 学生姓名

此为单表修改。

修改之前没进行备份数据? 可怜的娃。。。

方法一:

数据还原到指定时间点的处理示例:

--创建测试数据库

CREATE DATABASE Db

GO

--对数据库进行备份

BACKUP DATABASE Db TO DISK='c:\dbbak' WITH FORMAT

GO

--创建测试表

CREATE TABLE DbdboTB_test(ID int)

--延时1秒钟,再进行后面的 *** 作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的 *** 作失败)

WAITFOR DELAY '00:00:01'

GO

--假设我们现在误 *** 作删除了 DbdboTB_test 这个表

DROP TABLE DbdboTB_test

--保存删除表的时间

SELECT dt=GETDATE() INTO #

GO

--在删除 *** 作后,发现不应该删除表 DbdboTB_test

--下面演示了如何恢复这个误删除的表 DbdboTB_test

--首先,备份事务日志(使用事务日志才能还原到指定的时间点)

BACKUP LOG Db TO DISK='c:\db_logbak' WITH FORMAT

GO

--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)

RESTORE DATABASE Db FROM DISK='c:\dbbak' WITH REPLACE,NORECOVERY

GO

--将事务日志还原到删除 *** 作前(这里的时间对应上面的删除时间,并比删除时间略早

DECLARE @dt datetime

SELECT @dt=DATEADD(ms,-20,dt) FROM # --获取比表被删除的时间略早的时间

RESTORE LOG Db FROM DISK='c:\db_logbak' WITH RECOVERY,STOPAT=@dt

GO

--查询一下,看表是否恢复

SELECT FROM DbdboTB_test

/--结果:

ID

-----------

(所影响的行数为 0 行)

--/

--测试成功

GO

--最后删除我们做的测试环境

DROP DATABASE Db

DROP TABLE #

方法二:

用日志工具Log Explorer

步骤:

1、查看日志

a、打开log explorer,选择菜单File--> attach log file

b、在Log File Selection窗口中,填写连接到要恢复数据的数据库服务器机器名、数据库登录ID及密码,然后点击 "Connect "按钮。

c、若连接成功,则窗口左边树将显示命令菜单,这时我们点击Browser下的View Log命令,此时窗口右边则出现该数据库的Log。

2、恢复数据库

这时您只要选择您要恢复对事件点,右键点击选择 "undo transation "命令,保存T-SQL代码,然后在查询分析器中执行该T-SQL代码

以上就是关于C++连接Access数据库:update语句中where条件用变量的问题全部的内容,包括:C++连接Access数据库:update语句中where条件用变量的问题、SQL语言中修改表中数据的命令是什么、数据库中修改同一学生不同课程成绩的修改语句是什么啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/10643002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存