Saya memiliki listBox di WinForms .NET 4.5. Saya terus mendapatkan pengecualian 'NULL' saat dimasukkan dan saya tidak tahu mengapa. Saya memiliki TWEAK
sebagai .dbml
dari tbl_Tweak
lengkap dengan kumpulan datanya. Saya kehilangan sesuatu di suatu tempat dan gagal menemukan apa atau di mana. Saya berharap pandangan yang segar dan berpengalaman dapat memberikan pencerahan di sini. Inilah kode yang relevan.
Metode Sisipkan:
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();
}
}
}
Metode GetEvents tempat saya mencoba memasukkan item yang dipilih dari kotak daftar ke dalam string:
public string GetEvents()
{
string[] arrr = new string[listBoxEvents.Items.Count];
listBoxEvents.SelectedItems.CopyTo(arrr, 0);
cbEventItems = string.Join("-", arrr);
return cbEventItems;
}
Saya telah mencari SO dan menemukan beberapa variasi yang saya tunjukkan di bawah ini:
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;
}
Dan...
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;
}
dan juga...
public string GetEvents()
{
List<string> arrr = new List<string>(listBoxEvents.SelectedItems.Count);
foreach (string listitem in listBoxEvents.SelectedItems)
{
cbEventItems = string.Join("-", arrr);
}
return cbEventItems;
}