我得到了問題。我想將數據更新到數據庫,但數據庫不會更新。更新到數據庫不起作用
下面是代碼:
更新下面的代碼:
else if (firstForm.textBox1.Text == "Seranne")
{
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();
}
if (textBoxQuantityContainer[index].Value != 0 && textBoxQuantityContainer[index].Value >= Convert.ToDecimal(dReader["Quantity"].ToString()))
{
newVal = textBoxQuantityContainer[index].Value - Convert.ToDecimal(dReader["Quantity"].ToString());
cmd = new OleDbCommand("UPDATE [Seranne] SET [Quantity] ='" + newVal + "' WHERE [Code] IN ('");
}
index += 1;
}
conn.Close();
dReader.Close();
}
}
private void UpdateQuantity()
{
System.Media.SoundPlayer sound = new System.Media.SoundPlayer(@"C:\Windows\Media\Windows Notify.wav");
sound.Play();
MessageBox.Show("Updated Successfully", "Success");
}
private void button1_Click(object sender, EventArgs e)
{
UpdateQuantity();
}
上面代碼中的所有工作,節選用於更新Quantity
到數據庫。我的意思是,我把數據庫中的Quantity
設置爲100,當我在程序中設置Quantity
到10
並更新它時,數據庫應該更新Quantity
爲90
(因爲100-10),但它仍然在100
。
我可以在某處錯誤嗎?
這裏是屏幕截圖的鏈接: (截圖1) https://www.dropbox.com/s/rph5iuh371rc9ny/Untitled.png
(截圖2) https://www.dropbox.com/s/5q8pyztqy7ejupy/Capture.PNG
在截圖1,我已經設置的數量10
和在MessageBox表明數據已成功更新,數據庫中的數據應該是90(因爲100-10)。但是,在數據庫所在的屏幕截圖2中,Quantity
仍然在100
。
在此先感謝!
大約20分鐘前我編輯了你的帖子。由於您在不刷新屏幕的情況下對帖子進行了修改,因此您的大部分修改都會丟失(如我爲您添加的屏幕截圖)。 – gunr2171
@ gunr2171:我很抱歉。您能否重新發布您在我的問題中編輯的截圖?謝謝。 –