這是我的代碼。我試圖獲得存儲在query1
變量中的SQL查詢的結果,並且想要將結果用於存儲在query
變量中的SQL查詢。 Messagebox是不相關的,我只是寫了它,看看我是否從listbox1得到正確的結果。如果我將query1的結果硬編碼爲命令參數,它完美地工作。獲取查詢結果到一個變量,然後將其傳遞給一個命令
private void btnAddCoarse_click(object sender, EventArgs e)
{
MessageBox.Show(listBox1.SelectedItem.ToString());
string query1 ="SELECT ogrenciNo FROM ders,ogrenci,Enrollment WHERE ogrenciId=ogrenciNo AND dersId=dersKodu AND ogrenci.email='" + mainform.Username + "' AND Enrollment.dersId='"+listBox1.SelectedValue+"'";
string query = "INSERT INTO Enrollment(dersId,ogrenciId) VALUES (@dersId, @ogrenciId)";
using (connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
command.Parameters.AddWithValue("@dersId", listBox1.SelectedValue);
command.Parameters.AddWithValue("@ogrenciId",//this is where i need the query1//);
command.ExecuteNonQuery();
PopulateList2();
}
}
您可以使用參數與第二查詢,但不是第一? - 爲兩個做! –
@AlexK。其中一個是選擇另一個是插入語句,我需要插入參數,以知道它將插入什麼。我不明白爲什麼我需要其他參數。 –
@PoyrazKürkçüoğlu使用sql參數是一種很好的做法,對於避免sql注入是強制性的 – apomene