SQL 오류는 스칼라 변수를 선언해야합니다
-
19-09-2019 - |
문제
private void FillInvoiceList()
{
DataTable distinctInvoice = new DataTable();
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["APOS_CONNECTION_STRING"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("Select distinct svc_tag from data where rep_name = @value");
cmd.Parameters.AddWithValue("@value", this.DropDownList1.SelectedItem.Text);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd.CommandText, conn.ConnectionString);
sqlDataAdapter.Fill(distinctInvoice);
}
foreach (DataRow row in distinctInvoice.Rows)
{
this.ListBox1.Items.Add(row["svc_tag_dim_invoice_num"].ToString());
}
}
이 코드가 있고 필을 호출 할 때이 오류가 발생합니다 (ConstrinVoice).
스칼라 변수 "@Value"를 선언해야합니다.
DropdownList1에서 선택한 indexChanged 이벤트에서 내 FillInvoicElist () 메소드가 호출됩니다. DropDownList1.SelectedItem.text의 값이 올바른 것 같습니다.
도움을 주셔서 감사합니다.
해결책
오류는 다음과 같습니다.
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd.CommandText, conn.ConnectionString);
SQLDataAdapter를 설정하여 SQLCommand 자체가 아닌 원래 CommandText를 사용하도록 설정합니다. 변경 :
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd, conn.ConnectionString);
제휴하지 않습니다 StackOverflow