ฉันมีกล่องรายการใน 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;
}