如何只更新提交的字段?

发布于 2024-12-04 10:14:21 字数 1047 浏览 0 评论 0原文

我需要更新表中的各个字段。

问题第 1 部分:我怎样才能只发送必要的参数?我可以在 JavaScript 中执行此操作,如下所示:

  myUpdateFunction( {tableID: 45, personFirstName: 'Blah'} );
  // and then
  myUpdateFunction( {tableID = 48, personFirstName: 'Blah', personLastName: 'Blah'} );

问题第 2 部分:如何处理参数并构建 sql 查询?是否存在任何智能方法,或者我应该简单地使用 if..else 块?

PS:我使用 SQL 的紧凑版本 4。

                string sql = @"UPDATE [personList] 
                SET 
                  personFirstName=@personFirstName
                  personLastName=@personLastName
                  personPhoto=@personPhoto
                WHERE personID=@personID";


                cmd = new SqlCeCommand(sql, cn);
                cmd.Parameters.AddWithValue("@personID", personID);
                cmd.Parameters.AddWithValue("@personFirstName", personFirstName);
                cmd.Parameters.AddWithValue("@personLastName", personLastName);
                cmd.Parameters.AddWithValue("@personPhoto", personPhoto);


                cmd.ExecuteNonQuery();

I need to update various fields in a table.

Question part 1: How can I only send the necessary arguments? I can do that in JavaScript like below:

  myUpdateFunction( {tableID: 45, personFirstName: 'Blah'} );
  // and then
  myUpdateFunction( {tableID = 48, personFirstName: 'Blah', personLastName: 'Blah'} );

Question part 2: How can I handle the arguments and build the sql query? Is there any smart method exist or should I simply use if..else blocks?

P.S: I use compact version 4 of SQL.

                string sql = @"UPDATE [personList] 
                SET 
                  personFirstName=@personFirstName
                  personLastName=@personLastName
                  personPhoto=@personPhoto
                WHERE personID=@personID";


                cmd = new SqlCeCommand(sql, cn);
                cmd.Parameters.AddWithValue("@personID", personID);
                cmd.Parameters.AddWithValue("@personFirstName", personFirstName);
                cmd.Parameters.AddWithValue("@personLastName", personLastName);
                cmd.Parameters.AddWithValue("@personPhoto", personPhoto);


                cmd.ExecuteNonQuery();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

善良天后 2024-12-11 10:14:21

这些是您的 sql 查询:

    UPDATE TableName
    SET personFirstName='Blah'
    WHERE tableID= 45

    UPDATE TableName
    SET personFirstName='Blah' AND personLastName='Blah'
    WHERE tableID= 48

无法帮助您使用 Javascript...抱歉!

Those are your sql queries:

    UPDATE TableName
    SET personFirstName='Blah'
    WHERE tableID= 45

    UPDATE TableName
    SET personFirstName='Blah' AND personLastName='Blah'
    WHERE tableID= 48

Can't help you with Javascript... sorry!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文