更新查询返回错误的值

时间:2014-12-25 10:36:33

标签: c# .net sql-server

我有这个功能:

 virtual public bool EditVideoNumber(String oldnumber, String channelnumber)
    {
        using (var con = GetConnection())
        {
            con.Open();
            var cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText += "update Videos set number=REPLACE(number,@oldnumber,@channelnumber)";
            cmd.Parameters.Add(new SqlParameter("@channelnumber", channelnumber));
            cmd.Parameters.Add(new SqlParameter("@oldnumber", oldnumber));
            try
            {
                cmd.ExecuteScalar();
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
    }

问题是,在我更新值oldnumber的那一刻,从102到1020(只是一个例子),它返回值10200.我试图多次更改查询,但似乎没有任何东西它的工作

1 个答案:

答案 0 :(得分:1)

你可以试试这个。这将替换您当前的数字值,并在末尾添加另一个值为0的值:

cmd.CommandText += "update Videos set number=REPLACE(number,number,CONTACT(number,'0'))";