![](/img/trans.png)
[英]how to show appointment of a specific date in a datagridview.??(C#)
[英]Editing datagridview. Visual C# 2008
我有以下代碼:
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
string value = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
string cellid = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); //to działa, ale nie przenosi na %s
MySqlConnection mysqlCon = new MySqlConnection("SERVER = naven.com.pl; DATABASE = naven1_terminarz; User ID = naven1_terminarz; PASSWORD = mydbpassword;");
MySqlCommand cmd = new MySqlCommand("UPDATE `naven1_terminarz`.`Terminarz` SET `Data` = '2014-03-06 00:00:00',`Autor` = '@VALUE',`Tekst` = 'dadsssldhkashdjasjkdkasjdhasdkas',`Użytkownik` = 'Marcina', `Klient` = 'dsa' WHERE `Terminarz`.`id` = '@ID' LIMIT 1 ;", mysqlCon);
//MySqlCommand cmd = new MySqlCommand("UPDATE `naven1_terminarz`.`Terminarz` SET `Data` = '2014-03-06 00:00:00',`Autor` = '@VALUE',`Tekst` = 'dadsssldhkashdjasjkdkasjdhasdkas',`Użytkownik` = 'Marcina', `Klient` = 'dsa' WHERE `Terminarz`.`id` = '@ID' LIMIT 1 ;", mysqlCon);
cmd.Parameters.AddWithValue("@ID", MySqlDbType.Int32).Value = Int32.Parse(cellid);
cmd.Parameters.AddWithValue("@VALUE", MySqlDbType.VarChar).Value = value;
try
{
mysqlCon.Open();
cmd.ExecuteNonQuery();
mysqlCon.Close();
//MessageBox.Show(cmd.ToString());
//MessageBox.Show("@ID @VALUE"); //this one displays @ID @VALUE instead of variable value.
MessageBox.Show(cellid); //this one is working fine, but i don't know how to input this value into MySql query
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
MySql代碼本身正在運行,但是@ID和@VALUE不能正確顯示,它只是說@ID而不是整數,用@VALUE代替我的字符串值。 我正在重寫此代碼:naven.com.pl/cellendedit.jpg看起來一樣(或者是嗎?),它對作者有效,而對我而言,不是。
如您所讀,代碼MessageBox.Show(cellid); 正在工作,但不適用於@ID @VALUE變量。
我通過輸入正確的值而不是變量來檢查查詢,並且該查詢正在使用此代碼。
可能是什么原因?
問題:您已將命名參數括在單引號中。
解決方案:您需要刪除以下兩個參數周圍的單引號
@VALUE
@ID
替換為:
MySqlCommand cmd = new MySqlCommand("UPDATE `naven1_terminarz`.
`Terminarz` SET `Data` = '2014-03-06 00:00:00',`Autor` = '@VALUE',`Tekst` =
'dadsssldhkashdjasjkdkasjdhasdkas',`Użytkownik` = 'Marcina', `Klient` =
'dsa' WHERE `Terminarz`.`id` = '@ID' LIMIT 1 ;", mysqlCon);
有了這個:
MySqlCommand cmd = new MySqlCommand("UPDATE `naven1_terminarz`.
`Terminarz` SET `Data` = '2014-03-06 00:00:00',`Autor` = @VALUE,`Tekst` =
'dadsssldhkashdjasjkdkasjdhasdkas',`Użytkownik` = 'Marcina', `Klient` =
'dsa' WHERE `Terminarz`.`id` = @ID LIMIT 1 ;", mysqlCon);
嘗試
MySqlCommand cmd = new MySqlCommand("UPDATE `naven1_terminarz`.
`Terminarz` SET `Data` = '2014-03-06 00:00:00',`Autor` = @VALUE,`Tekst` =
'dadsssldhkashdjasjkdkasjdhasdkas',`Użytkownik` = 'Marcina', `Klient` =
'dsa' WHERE `Terminarz`.`id` = @ID LIMIT 1 ;", mysqlCon);
更正 :從@VALUE
和@ID
刪除引號''
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.