У меня есть listBox в WinForms .NET 4.5. Я продолжаю получать исключение «NULL» при вставке, и я не знаю, почему. У меня есть TWEAK
как .dbml
из tbl_Tweak
с набором данных. Я что-то где-то пропустил и не смог найти что и где. Я надеюсь, что свежий, опытный взгляд может пролить здесь некоторый свет. Вот соответствующий код.
Метод вставки:
public void InsertOrUpdateTweak(string recipename, string batchID, DateTime dtpTweak, int tempTweak, double specificGravityTweak, string tweakBox, string cbEventItems, int r_ID, string arrr)
{
TWEAKDataContext tdc = new TWEAKDataContext();
if (dirtyTweak == true)
try
{
GetEvents();
tbl_Tweak log = new tbl_Tweak();
log.recipename = recipeName;
log.batchID = batchID;
log.dtpTweak = DateTime.Now;
log.tempTweak = tempTweak;
log.specificGravityTweak = specificGravityTweak;
log.tweakBox = tweakBox;
log.cbEventItems = cbEventItems;
tdc.tbl_Tweak.InsertOnSubmit(log);
tdc.SubmitChanges();
}
catch (Exception ex)
{
throw ex; //<== This is where it breaks
}
try
{
MessageBox.Show("You have not loaded and/or saved the current recipe data");
}
finally
{
tdc.SubmitChanges();
}
}
}
GetEvents, в котором я пытаюсь поместить выбранные элементы из списка в строку:
public string GetEvents()
{
string[] arrr = new string[listBoxEvents.Items.Count];
listBoxEvents.SelectedItems.CopyTo(arrr, 0);
cbEventItems = string.Join("-", arrr);
return cbEventItems;
}
Я искал SO и нашел несколько вариантов, которые я показываю ниже:
public string[] GetEvents()
{
String[] cbEventItems = new String[listBoxEvents.SelectedItems.Count];
for (int i = 0; i < totalEvents; i++)
{
var arrr = String.Join(Environment.NewLine, listBoxEvents.SelectedItems.Cast<string>());
}
return arrr;
}
а также...
public string[] GetEvents()
{
string[] arrr = new string[listBoxEvents.SelectedItems.Count];
for (int i = 0; i < listBoxEvents.SelectedItems.Count; i++)
arrr[i] = listBoxEvents.SelectedItems[i].ToString();
return arrr;
}
а также...
public string GetEvents()
{
List<string> arrr = new List<string>(listBoxEvents.SelectedItems.Count);
foreach (string listitem in listBoxEvents.SelectedItems)
{
cbEventItems = string.Join("-", arrr);
}
return cbEventItems;
}