首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个几乎相同的更新查询中的ASP.NET MVC C# RazorSQL1无法工作

两个几乎相同的更新查询中的ASP.NET MVC C# RazorSQL1无法工作
EN

Stack Overflow用户
提问于 2016-08-04 14:05:53
回答 1查看 91关注 0票数 2

我提出了一个申请,以保持我们的仓库更容易使用。

我创建了两种方法来更改数据库中的一些值。一个用于更改项的库存,另一个用于更改存储此项的位置。

由于某种原因,当我使用第一种方法时,程序会改变股票,但是当我使用第二种方法时,它不会改变任何东西.

我真的不明白因为它们几乎是一样的。

有人看到我看不到的东西吗?

代码语言:javascript
复制
public void ChangeStock(double value, string Number)
    {
        string ConnString = "[connectionstring]";
        string SqlString = "Update Item Set Stock = ? WHERE ItemNumber= ?";
        using (OleDbConnection conn = new OleDbConnection(ConnString))
        {
            using (OleDbCommand cmd = new OleDbCommand(SqlString, conn))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("Stock", value);
                cmd.Parameters.AddWithValue("ItemNumber", Number);
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
            }
        }
    }

    public void ChangeLocation(string Location, string Number)
    {
        string ConnString = "[connectionstring]";
        string SqlString = "Update Item Set Location = ? WHERE ItemNumber = ?";
        using (OleDbConnection conn = new OleDbConnection(ConnString))
        {
            using (OleDbCommand cmd = new OleDbCommand(SqlString, conn))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("ItemNumber", Number);
                cmd.Parameters.AddWithValue("Location", Location);       
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
            }
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-04 14:16:47

由于您使用的是OleDb,Access将忽略参数名。因此,您必须按照预期的顺序提供参数值,这是参数占位符在CommandText中出现的顺序。

在第一个UPDATE情况下,您将按照正确的顺序提供参数值。但是,在第二种情况下,与Access所期望的情况相比,您将按相反的顺序提供它们。用这个命令..。

代码语言:javascript
复制
cmd.Parameters.AddWithValue("Location", Location);
cmd.Parameters.AddWithValue("ItemNumber", Number);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38769649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档