Я извлекаю данные из таблицы на Combobox_SelectionChanged
.
Всякий раз, когда я пытаюсь добавить параметр, он больше не получает данные.
Что интересно, если я заменю значение 'Combobox.SelectedItem
' на
имя "Max"
, данные извлекаются.
Также, если я укажу 'Combobox.SelectedIndex == 1,2 or 3
', он все равно получит данные.
Что не так с Combobox.SelectedItem
в качестве значения?
private void Combobox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (Combobox.SelectedIndex > -1)
{
string Provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =";
string dataFile = System.AppDomain.CurrentDomain.BaseDirectory;
dataFile = "Database\\Data.accdb";
string Selecte = "Select * FROM [Table] WHERE @1 IN([Name]) ORDER BY [Number] ASC";
using (OleDbConnection myConnection = new OleDbConnection(Provider + dataFile))
{
if (myConnection.State != ConnectionState.Open)
myConnection.Open();
OleDbCommand cmd = new OleDbCommand(Selecte, myConnection);
cmd.Parameters.Add(new OleDbParameter { ParameterName = "@1", OleDbType = OleDbType.Char, Value = Combobox.SelectedItem });
cmd.ExecuteNonQuery();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
dataGrid.ItemsSource = dt.AsDataView();
}
}