現在、私が持っているデータベースを使用してデータセットを埋めようとしています。次のコードは、データセットをまったく埋めていないようです。
private static DataSet records = new DataSet();
public static DataSet LoanersData()
{
//query string **add more tables as needed**
string querystring = "SELECT * FROM LoanerItems; SELECT * FROM Customers; SELECT * FROM Jobs";
//sql connection
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "LLOYD2\\";
scsb.InitialCatalog = "LoanersTest";
scsb.IntegratedSecurity = true;
scsb.ConnectTimeout = 30;
SqlConnection loanersConnection = new SqlConnection(scsb.ConnectionString);
SqlDataAdapter adapter = new SqlDataAdapter(querystring, loanersConnection);
adapter.TableMappings.Add("Table", "LoanerItems");
adapter.TableMappings.Add("Table1", "Customers");
adapter.TableMappings.Add("Table2", "Jobs");
adapter.Fill(records);
return records;
}
この:
{
InitializeComponent();
records = DataRetreive.LoanersDataSet.LoanersData();
LoanerItemsTable = records.Tables["LoanerItems"];
CustomersTable = records.Tables["Customers"];
LoanerItemsTable = records.Tables["Jobs"];
}
データセットがいっぱいかどうかはわかりませんが、次のようにデータテーブルの 1 つにクエリを実行しようとすると、次のようになります。
IEnumerable<DataRow> query = from LoanerItems in LoanerItemsTable.AsEnumerable() select LoanerItems;
foreach (DataRow p in query)
{
loanerComboBox1.Items.Add(p.Field<string>("BCPartnNumber"));
}
エラーは発生しませんが、コンボボックスには何も追加されません。デバッグ中に、データテーブルに何もないため、データ行をループできないことに気付きました。
私がやろうとしていることと、私がしていることは、2 つの異なることかもしれません。少なくとも、テーブルで「BCPartnumber は列の名前です。必要に応じてさらにコードを提供できますが、現時点では他に提供することはあまりありません。