SQL-Java-UPDATE语句查询

SQL-Java-UPDATE语句查询,java,sql,sql-update,Java,Sql,Sql Update,所以我想做的是“更新'user'表中的'usertype'列,其中电子邮件(/user)值是从文本框中获得的” 有可能这样做吗 任何帮助都将不胜感激 您的更新查询不正确。您正在PreparedStatement上使用setString,但未指定在查询中插入此值的位置(您的查询未参数化)。要指定您需要写入的内容?要在其中插入值的位置。用户也是数据库中的保留字,所以理想情况下不应该使用此名称。例如: String update_query = "UPDATE [table_name] SET use

所以我想做的是“更新'user'表中的'usertype'列
,其中
电子邮件(/user)值是从文本框中获得的”

有可能这样做吗


任何帮助都将不胜感激

您的更新查询不正确。您正在PreparedStatement上使用setString,但未指定在查询中插入此值的位置(您的查询未参数化)。要指定您需要写入的内容?要在其中插入值的位置。用户也是数据库中的保留字,所以理想情况下不应该使用此名称。例如:

String update_query = "UPDATE [table_name] SET usertype = seller WHERE email = ?" ;
PreparedStatement preparedStatement = dbConnection.prepareStatement(update_query);
preparedStatement.setString(1,Value);// this value will be replaced at ?

如果您不知道如何从Java连接到数据库并创建连接,您需要从以下方面学习:

尝试用单引号将文本框值括起来,如下所示:

String update_query = "UPDATE user 
                       SET usertype = 'seller' 
                       WHERE email = '" &  GrantField.getText() & "';"

我还在getText()之后添加了一个符号和。

您的sql查询有一些问题

  • 表名为
    User
    它是一个保留字,请将其括在“”中
  • 你正在检查一封电子邮件。它是varchar,因此应该包含在
    '
  • 始终尝试使用参数化sql查询,这样可以避免sql注入问题
  • 您正在执行setstring向查询传递值,但在查询中 未指定应在何处替换该值

    String update\u query=“update”user“SET usertype='seller'其中email='&
    GrantField.getText()&“';”
    PreparedStatement pSt=connect.prepareStatement(更新查询);
    //setString(1,GrantField.getText());不需要此语句,因为您正在查询中提供值
    pSt.execute()

  • 只需修改此部分

    String update_query = "UPDATE user SET usertype = 'seller' WHERE ***email = '" + GrantField.getText()+"';***
    

    希望它能为您工作。

    您遇到了什么错误?您使用的是哪种dbms?sql server?
    “&GrantField.getText()”;“
    是无效的Java代码。您需要告诉我们错误消息的确切内容。您需要告诉我们您使用的是哪种DBMS。您如何知道Minto正在使用Microsoft SQL Server?问题仅标记为
    SQL
    ,因此答案应使用标准SQL。SQL中的保留字需要使用
    引用。”
    。所以应该是
    “用户”
    而不是
    [user]
    您如何知道Minto正在使用Microsoft SQL Server?该问题仅标有
    sql
    ,因此答案应使用标准sql。在SQL中,需要使用
    引用保留字。因此,保留字应该是
    “user”
    而不是
    [user]
    String update_query = "UPDATE [user] SET usertype = 'seller' WHERE email = ?" ;
    PreparedStatement pSt = dbConnection.prepareStatement(update_query);
    pSt.setString(1,GrantField.getText());
    pSt.execute();
    
    String update_query = "UPDATE user SET usertype = 'seller' WHERE ***email = '" + GrantField.getText()+"';***