我想用C#和MS Access 2013 我看各地的网络,但到目前为止,在这里我能做些什么来填充组合框填充组合框从访问
1 - 我创建了一个功能与如下面填写组合框:
public static void FillDropDownList(string Query, System.Windows.Forms.ComboBox DropDownName)
{
using (var CONN = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\Vendors.accdb;"))
{
CONN.Open();
DataTable dt = new DataTable();
try
{
OleDbCommand cmd = new OleDbCommand(Query, CONN);
OleDbDataReader myReader = cmd.ExecuteReader();
dt.Load(myReader);
}
catch (OleDbException e)
{
Console.WriteLine(e.ToString());
Console.ReadLine();
return;
}
DropDownName.DataSource = dt;
DropDownName.ValueMember = "BRANCH_CODE";
DropDownName.DisplayMember = "BRNCH_NAME";
}
}
后2 - 我把它称为在窗体的Load事件就像这样:
private void VendorMain_Load(object sender, EventArgs e)
{
FillDropDownList("select BRANCH_CODE,BRNCH_NAME from BRANCHES", BranchCB);
}
但初始化程序的组合框是后仍然是空的,没有填充
所以我该怎么做?
首先要检查查询是否有效返回某些数据。在dt.Load调用后添加Console.WriteLine(dt.Rows.Count.ToString()) – Steve
@Steve OLedb异常被抛出 >没有给出一个或多个必需参数的值。 –
OleDb(MS-Access)无法识别某个列名(或表名)并认为它是该查询的参数时发生这种情况。你拼错了名字吗? BRNCH_NAME?缺少A? – Steve