vb.net - Setting a data connection to a datagridview programmatically -


i'm trying programmatically set data appears in datagridview. reason can't use wizard because data in my.settings.database-string may vary, database structure points same.

 public sub config_datagrid()          dim connstring string = my.settings.database_string         dim myconnection oledbconnection = new oledbconnection         myconnection.connectionstring = connstring         ' create data adapter          dim da oledbdataadapter = new oledbdataadapter("select id, [name of person], [sap job number], [site name], [asset description], [spares supplier], [supplier contact name], [supplier contact phone number], [supplier contact email], [spares description], [part number], [quantity order], cost, [request date], [date ordered], [ordered by], [invoice received], [invoice paid], [method of payment], [date item received], [additional comments], [quote attatchment] spares", myconnection)          ' create new dataset          dim ds dataset = new dataset         ' fill dataset          da.fill(ds, "spares")          main.datagridview1.datasource = ds.defaultviewmanager       end sub 

the code executes successfully, datagridview stays blank. ideas?

fill datatable instead of dataset:

dim dt datatable = new datatable ' fill dataset  da.fill(dt) 

or can use first datatable in dataset:

main.datagridview1.datasource = ds.tables(0) 

the datagridview can show 1 datatable @ time. dataset can contain many datatables.

addendum:

a third way set datamember property. useful if dataset have multiple tables. still can show 1 datatable @ time, though:

dim dst new dataset("dst") dim dtb0 new datatable("t0") dtb0.columns.add("t0c0") dtb0.columns.add("t0c1") dtb0.columns.add("t0c2") dtb0.columns.add("t0c3") dtb0.columns.add("t0c4") dtb0.rows.add("t0r0c0", "t0r0c1", "t0r0c2", "t0r0c3", "t0r0c4") dtb0.rows.add("t0r1c0", "t0r1c1", "t0r1c2", "t0r1c3", "t0r1c4") dtb0.rows.add("t0r2c0", "t0r2c1", "t0r2c2", "t0r2c3", "t0r2c4")  dim dtb1 new datatable("t1") dtb1.columns.add("t1c0") dtb1.columns.add("t1c1") dtb1.columns.add("t1c2") dtb1.columns.add("t1c3") dtb1.columns.add("t1c4") dtb1.rows.add("t1r0c0", "t1r0c1", "t1r0c2", "t1r0c3", "t1r0c4") dtb1.rows.add("t1r1c0", "t1r1c1", "t1r1c2", "t1r1c3", "t1r1c4") dtb1.rows.add("t1r2c0", "t1r2c1", "t1r2c2", "t1r2c3", "t1r2c4") dst.tables.add(dtb0) dst.tables.add(dtb1)  datagridview1.datasource = dst datagridview1.datamember = dst.tables(1).tablename