[已解決] - 必須將Id @更改爲@Id。寫錯誤。無法根據條件列出數據網格
我有註冊GYM成員和他們的付款這一應用。在MembersDataGridView上,當您雙擊行標題時,PaymentsDataGridView將以付款清單打開。現在,我可以完全列出所有付款,但我只想列出特定成員的付款。付款ID等同於會員ID。 所以,如果一個會員ID是100,所有他/她支付的ID將是100
我正在使用此代碼調用從數據庫中支付:
public List<Payment> ListPayments(Payment entity)
{
List<Payment> Payments = new List<Payment>();
string SELECT = "SELECT * FROM Payments WHERE Id = [email protected]";
using (sqlConnection = new SqlConnection(sqlConnectionString_WORK))
{
sqlConnection.Open();
using (SqlCommand sqlCommand = new SqlCommand(SELECT, sqlConnection))
{
sqlCommand.Parameters.Add("@Id", SqlDbType.Int).Value = entity.Id;
var sqlReader = sqlCommand.ExecuteReader();
while (sqlReader.Read())
{
var payment = new Payment
{
Id = Convert.ToInt32(sqlReader["Id"]),
Amount = Convert.ToDecimal(sqlReader["Amount"]),
StartDay = Convert.ToDateTime(sqlReader["StartDay"]),
EndDay = Convert.ToDateTime(sqlReader["EndDay"])
};
Payments.Add(payment);
}
}
}
return Payments;
}
而且我用這個在付款表單上:
private void PaymentsForm_Load(object sender, EventArgs e)
{
var payment = new Payment
{
Id = IdTextBox.Text.ToIntOrZero()
};
PaymentsDataGridView.DataSource = Connection.ListPayments(payment);
}
PaymentsForm包含成員信息的文本框。 IdTextBox包含成員的ID,我從中獲取ID以列出所有付款。現在,當我嘗試列出會員的支付,我得到這個例外在var sqlReader = sqlCommand.ExecuteReader();
部分:
SQLException was unhandled.
Invalid column name '[email protected]'.
任何想法,我做錯了嗎?
喔..現在我感覺遲鈍。謝謝你:) – Etrit
不要編輯你的問題,並寫'解決',你必須接受一個答案,以標記它解決。 –
我標記了你的答案。在我做之前,我只需要等待10分鐘。再次感謝! – Etrit