У меня есть эта коллекция, как видно из приведенного ниже кода, и я пытаюсь выполнить функцию InserData, чтобы вставить данные из коллекции в мою таблицу SQL DB в событии Button_Click_1 и не могу заставить ее работать. Любая помощь?
Код берет данные из полей формы и добавляет в коллекцию. Как только добавление будет завершено, и пользователь завершит добавление, я хочу, чтобы вся коллекция была записана в таблицу данных SQL.
public class LotData
{
public string Lot;
public string Description { get; set; }
public int PO { get; set; }
public string MfgPart { get; set; }
}
// code to add from control data to list
ObservableCollection<LotData> lot = new ObservableCollection<LotData>();
private ObservableCollection<LotData> LoadCollectionData()
{
// List<LotData> lot = new List<LotData>();
lot.Add(new LotData()
{
Lot = LotNo.Text,
Description = frmDescription.Text,
PO = int.Parse(frmPO.Text),
MfgPart = frmMfgPart.Text,
});
return lot;
}
//button to add list data to datagrid on form
public void Button_Click(object sender, RoutedEventArgs e)
{
gridLotData.ItemsSource = LoadCollectionData();
LotNo.Text = String.Empty;
frmMfgPart.Text = string.Empty;
frmDescription.Text = String.Empty;
frmMfgPart.Text = string.Empty;
frmPO.Text = string.Empty;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
//send data from DataGrid to database
{
InserData(LotData);
}
public void InserData(LotData lot)
{
string strConn = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\Matthew\\QCast.mdf;Integrated Security=True;Connect Timeout=30";
SqlConnection con = new SqlConnection(strConn);
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT into LotData Values (@LotNum)";
cmd.Connection = con
cmd.Parameters.AddWithValue("@LotNum", lot.Lot);
cmd.ExecuteNonQuery();
con.Close();
}