【问题标题】:How do I update information in the database using DatabaseLibrary library?如何使用 DatabaseLibrary 库更新数据库中的信息?
【发布时间】:2022-01-02 06:39:38
【问题描述】:

我需要更改数据库中某些记录的电子邮件。

使用 DatabaseLibrary 库,我编写了以下代码:

*** Settings ***

Library     DatabaseLibrary

*** Variables ***
${DB_NAME}             xxxxxxxx 
${DB_USER_NAME}        xxxxxxxx 
${DB_USER_PASSWORD}    xxxxxxxx 
${DB_HOST}             xxxxxxxx 
${DB_PORT}             xxxxxxxx 

*** Test Cases ***
Update Email    
    Connect To Database    psycopg2         ${DB_NAME}
    ...                    ${DB_USER_NAME}
    ...                    ${DB_USER_PASSWORD}
    ...                    ${DB_HOST}
    ...                    ${DB_PORT}
    Execute Sql String     update user_contact set contact = 'email123@email.com' where contact = '123456@email.com'

测试运行成功,但是在验证数据库中的更改时,邮件中没有任何更改,与注册的相同。

Test Result

我做得对吗? 有没有其他方法可以做到这一点?

提前感谢您的帮助。

【问题讨论】:

  • 我看到了您发布的控制台输出,但是 log.html 是否显示了 Execute Sql String 的输出结果?您是否尝试过捕获运行该关键字的结果? ${result} = 执行 Sql 字符串更新用户....

标签: robotframework


【解决方案1】:

你的脚本看起来是正确的,但也许你最后应该Disconnect From Database

有这个选项:Set optional input sansTran to True to run command without an explicit transaction commit or rollback. 它不应该是问题的原因,因为默认是提交。但是,您可以尝试在它之后显式地进行提交:

Execute Sql String     Commit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-17
    • 2011-09-27
    • 2021-07-07
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多