У меня есть таблица с именем MesaiBilgileri
и столбцов Id
, AdiSoyadi
, Mesai
, MesaiTarih
...команды Update не работает, но нет ошибки
я выбрал бы информацию из таблицы с именем PersonelBilgileri
с этим кодом:
private void cboxAdSoyadMesai_SelectedIndexChanged(object sender, EventArgs e)
{
string secilipersonel = cboxAdSoyadMesai.Text;
baglan.Open();
SqlCommand komut = new SqlCommand("Select *from PersonelBilgileri WHERE AdiSoyadi = '" + secilipersonel + "'", baglan);
SqlDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
lbId.Text = oku["Id"].ToString();
}
baglan.Close();
}
Я хотел бы использовать невидимую метку, чтобы взять вещи Id для написать еще одну таблицу ...
Тогда с этим значением, я пошел бы в другую таблицу и обновлять эту таблицу с этим со de:
private void mesaiekle()
{
string secilitarih = dtpMesai.Value.ToShortDateString(); //combobox for pick date
string secilipersonel = cboxAdSoyadMesai.Text; //combobox for pick employee
int mesaiId;
mesaiId = Convert.ToInt32(lbId.Text); //another table's Id value from invisible label...
baglan.Open();
SqlCommand komut = new SqlCommand("UPDATE MesaiBilgileri SET Id = '"+ mesaiId +"' , AdiSoyadi = '"+ secilipersonel +"' , Mesai = '" + cboxSaatMesai.Text + "' , MesaiTarih = @tarih", baglan);
komut.Parameters.Add("@tarih", SqlDbType.DateTime).Value = secilitarih;
komut.ExecuteNonQuery();
baglan.Close();
}
С помощью этого кода, когда я нажимаю кнопку сохранения;
private void btnMesaiEkle_Click(object sender, EventArgs e)
{
if ((cboxSaatMesai.Text == string.Empty) && (cboxAdSoyadMesai.Text == string.Empty))
{
MessageBox.Show("Eklemek İstediğiniz Mesai Bilgilerini Seçmek Zorundasınız", "HATA!!");
}
else
{
mesaiekle();
MessageBox.Show("" + cboxAdSoyadMesai.Text + " İçin Mesai Eklendi", "Mesai Ekleme Durumu");
}
}
Когда я нажимаю на кнопку сохранить, я вижу MessageBox подтверждение, но таблица не обновляется ... Там нет ошибки ... Я новичок в кодировании, так что я могу сделать?
Извините за мой английский:/
Использование отладчика см., что такое значение 'komut.CommandText' перед выполнением этой строки:' komut.ExecuteNonQuery(); ' – CodingYoshi
Почему вы используете параметры для динамического запроса? – McNets
Используйте try/catch, по крайней мере, при отладке, чтобы убедиться, что ошибок нет. Также проверьте CommandText команды и посмотрите, будет ли она что-либо обновлять при запуске непосредственно в SSMS. И, построив SQL, вы откроете вам SQL-инъекцию, которую вы должны Google, а не игнорировать, потому что вы сосредоточены на том, чтобы заставить ее работать. – Crowcoder