C# lly已更新,并且数据库中它的值已更改,但该值为0(假定为90,因为newVal中的代码为)。无论我给出什么值,结果都是0 OleDbDataReader dReader = cmd.ExecuteReader(); private void Updat

C# lly已更新,并且数据库中它的值已更改,但该值为0(假定为90,因为newVal中的代码为)。无论我给出什么值,结果都是0 OleDbDataReader dReader = cmd.ExecuteReader(); private void Updat,c#,database,winforms,ms-access,sql-update,C#,Database,Winforms,Ms Access,Sql Update,lly已更新,并且数据库中它的值已更改,但该值为0(假定为90,因为newVal中的代码为)。无论我给出什么值,结果都是0 OleDbDataReader dReader = cmd.ExecuteReader(); private void UpdateQuantity() { int index = 0; string command = "UPDATE [Seranne] SET [Quantity] ='" + newV

lly已更新,并且数据库中它的值已更改,但该值为0(假定为90,因为newVal中的代码为)。无论我给出什么值,结果都是0
OleDbDataReader dReader = cmd.ExecuteReader();
private void UpdateQuantity()
        {
            int index = 0;

            string command = "UPDATE [Seranne] SET [Quantity] ='" + newVal + "' WHERE [Code] IN(";

            OleDbConnection conn = new OleDbConnection(connectionString);

            conn.Open();

            OleDbCommand cmd = new OleDbCommand(command, conn);

            cmd.Parameters.Add("Quantity", System.Data.OleDb.OleDbType.Integer);

            OleDbDataReader dReader = cmd.ExecuteReader();

            while (dReader.Read())
            {
                if (textBoxQuantityContainer[index].Value != 0 && textBoxQuantityContainer[index].Value >= Convert.ToDecimal(dReader["Quantity"].ToString()))
                {
                    newVal = Convert.ToDecimal(dReader["Quantity"].ToString()) - textBoxQuantityContainer[index].Value;
                }

                System.Media.SoundPlayer sound = new System.Media.SoundPlayer(@"C:\Windows\Media\Windows Notify.wav");
                sound.Play();
                MessageBox.Show("Updated Successfully", "Success");

                index += 1;
            }

            conn.Close();
            dReader.Close();
        }
string query = "SELECT [Quantity], [Description], [Price] FROM [Seranne] WHERE [Code] IN (";

                OleDbConnection conn = new OleDbConnection(connectionString);

                conn.Open();

                if (int.TryParse(this.textBoxCodeContainer[0].Text, out codeValue))
                {
                    query = query + codeValue.ToString();
                }

                for (int i = 1; i < 17; i++)
                {
                    if (int.TryParse(this.textBoxCodeContainer[i].Text, out codeValue))
                    {
                        query = query + "," + codeValue.ToString();
                    }
                }

                query = query + ")";

                OleDbCommand cmd = new OleDbCommand(query, conn);

                cmd.Parameters.Add("Code", System.Data.OleDb.OleDbType.Integer);
                cmd.Parameters.Add("Quantity", System.Data.OleDb.OleDbType.Integer);

                OleDbDataReader dReader;

                dReader = cmd.ExecuteReader();

                while (dReader.Read())
                {
                    if (textBoxCodeContainer[index].TextLength != 0)
                    {
                        this.textBoxQuantityContainer[index].Maximum = Convert.ToDecimal(dReader["Quantity"].ToString());
                        this.textBoxDescContainer[index].Text = dReader["Description"].ToString();
                        this.textBoxSubTotalContainer[index].Text = dReader["Price"].ToString();
                    }

                    index += 1;
                }

                conn.Close();
                dReader.Close();
for (int i = 1; i < 17; i++) {
   if (int.TryParse(this.textBoxCodeContainer[i].Text, out codeValue))
   {
      query = query + codeValue + ",";
   }
}
query = query.TrimEnd(',') + ")";
string command = "UPDATE [Seranne] SET [Quantity] =? WHERE [Code] IN(" + string.Join(", " , integers) +")";
List<int> integers = new List<int>();
foreach (var tb in textBoxCodeContainer)
{
    int codeValue;
    if (int.TryParse(tb.Text, out codeValue))
    {
        integers.Add(codeValue);
    }
}