【发布时间】:2015-06-03 04:45:31
【问题描述】:
我已经设置了一个名为 lboxsupplier 的列表框,我还创建了一个数据适配器,然后我用它来填充供应商列表框。当我运行表单时,列表框为空。我希望列表框填充供应商 ID 和公司,然后单击以填充另一个列表框与产品。
Namespace Pennyburn_Greg
{
public partial class FormProcess : Form
{
SqlDataAdapter daSupplier;
DataSet dsPennyburnGreg = new DataSet();
SqlConnection conn;
SqlCommand cmdSupplierDetails;
SqlCommandBuilder cmdBSupplier;
DataRow drSupplier;
String connstr, sqlSupplier;
public FormProcess()
{
InitializeComponent();
}
private void FormProcess_Load(object sender, EventArgs e)
{
connstr = @"Data Source= arlene-pc; Initial Catalog= PennyburnGreg; Integrated Security=True";
//dataAdapter for supplier listbox
sqlSupplier = @"Select* from Supplier";
conn = new SqlConnection(connstr);
cmdSupplierDetails = new SqlCommand(sqlSupplier, conn);
daSupplier = new SqlDataAdapter(cmdSupplierDetails);
daSupplier.FillSchema(dsPennyburnGreg, SchemaType.Source, "Supplier");
}
private void filllboxsupplier(string str)
{
daSupplier.Fill(dsPennyburnGreg, "Supplier");
lboxsupplier.DataSource = dsPennyburnGreg.Tables["Supplier"];
lboxsupplier.DisplayMember = "Company";
lboxsupplier.ValueMember = "SupplierID";
}
}
}
【问题讨论】:
-
您发布的代码令人困惑。不确定您实际尝试的是什么?
-
我正在尝试从供应商表中获取公司名称和供应商 ID,并让它们出现在列表框中
-
你能解释一下为什么你的查询不需要任何参数吗?
-
首先要做的是在您的方法调用
Fill之后设置一个断点,并确保正在返回数据。接下来要做的是清理你的代码。您的SqlDataAdapter、SqlConnection、SqlCommand等......都应该是局部变量,而不是类范围的变量,并且它们都应该被using语句包围。