Я относительно новичок в Dapper, а также C#. Я пытаюсь получить имена поставщиков из базы данных SQL в поле со списком при открытии формы.
Вот код: Таблицы базы данных выглядят так:
CREATE table [dbo].[PURCH_VENDOR]
([VENDOR_ID] varchar(20),
,[VEND_NAME] varchar(20),
,[VEND_ADDRESS] varchar(20),
,[VEND_PHONE] varchar(20),
,[VEND_WEBSITE] varchar(20),
,[NOTES] varchar(20))
Класс поставщика:
public class Vendor:IVendor
{
//properties
public int ID;
public string Name { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Website { get; set; }
public string Notes { get; set; }
public static string ErrorMessage { get; set; }
//Constructors
public Vendor(string name,string address,string phone,string website,string notes)
{
Name = name;
Address = address;
Phone = phone;
Website = website;
Notes = notes;
}
public Vendor(string name)
{
Name = name;
}
public Vendor() { }
public List<Vendor> GetVendors()
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("SAMPLEDB")))
{
var output = connection.Query<Vendor>("select vend_name from dbo.purch_vendor").ToList();
return output;
}
}
Код в форме выглядит следующим образом:
public partial class AddVendor : Form
{
//List<Vendor> vendor = new List<Vendor>();
public AddVendor()
{
InitializeComponent();
Vendor db = new Vendor();
var outp = db.GetVendors();
foreach (Vendor vd in outp)
{
cb_vendorName.Items.Add(vd.Name);//This is where the error kicks in
}
//IVendor vendorRep = new Vendor();
//List<Vendor> vendor = vendorRep.GetAll();
//foreach(var vend in vendor)
//{
// //Console.WriteLine(vend.Name);
// cb_vendorName.Items.Add(vend.Name);
//}
}
}
Я получаю следующую ошибку:
Необработанное исключение типа 'System. ArgumentNullException 'произошло в System. Windows .Forms.dll
, но у меня нет значений NULL в базе данных для имен поставщиков.
Когда я отлаживал, казалось, что он распознает, что есть две записи в базе данных, но не заполняет ни одно из свойств членов. Любая помощь будет оценена. Спасибо!