C# Sql commands are not working : i have problem that the code isnt work, im trying to populate the database that saved in local host on Sql-Server but the code is doing nothing :(

          private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                if (dataGridView1.SelectedRows.Count != 0 && listBox1.SelectedIndex != -1)
                {

                    string id = "select studentID from student where studentName like '%" + listBox1.SelectedItem.ToString() + "%'";
                    SqlCommand a = new SqlCommand(id, conn);
                    a.ExecuteNonQuery();
                    SqlDataReader reader = a.ExecuteReader();
                    string s = reader.GetString(0);
                   
                    string q = "insert into Borrow values   (" + dataGridView1.CurrentRow.Cells[0].Value.ToString()
                        + ", " + s + " , '" + DateTime.Now + "' , Null)";
                    SqlCommand cmd = new SqlCommand(q, conn);

                    cmd.ExecuteNonQuery();
                    MessageBox.Show("Book is now Borrowed");
                    string tmp = "update Book set quantity=quantity-1 where bookID " + dataGridView1.CurrentRow.Cells[0].Value.ToString();
                    SqlCommand tm = new SqlCommand(tmp, conn);
                }

            }
            catch
            {

            }
            finally
            {
                conn.Close();
            }
        }

