C# и удалите указанную c строку в SQL База данных сервера - PullRequest
1 голос
/ 20 апреля 2020

Моя проблема в том, что я не получаю никаких ошибок, но когда я попытался удалить указанные c данные из базы данных, система просто отобразила бы Data Deleted.

private void Delete_Click(object sender, EventArgs e)
{
    string Query = "delete from dbo.student where C_ID=" + textBox1.Text;
    cc.con = new SqlConnection(cs.DBConn);
    cc.con.Open();

    try
    {
        MessageBox.Show("Data Deleted");
    }
    catch
    {
        MessageBox.Show("User Not Deleted");
    }
}

1 Ответ

0 голосов
/ 20 апреля 2020

Вам необходимо создать SqlCommand и выполнить запрос! Также - чтобы избежать SQL внедрения и других проблем, пожалуйста, всегда используйте параметризованные запросы!

Попробуйте что-то вроде этого:

private void Delete_Click(object sender, EventArgs e)
{
    string delQuery = "DELETE FROM dbo.student WHERE C_ID = @ID";

    try
    {
        using (SqlConnection conn = new SqlConnection(cs.DBConn))
        using (SqlCommand cmdDel = new SqlCommand(delQuery, conn))
        {
            // define parameter and set value
            cmdDel.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(textBox1.Text);

            // open connection, execute query, close connection
            conn.Open();
            int rowsDeleted = cmdDel.ExecuteNonQuery();
            conn.Close();

            // show success message
            MessageBox.Show("Data Deleted");
        }
    }
    catch
    {
        MessageBox.Show("User Not Deleted");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...