我在ApplicationEvent.vb中有一些代码来处理命令行参数,然后根据在cmd输入的任何参数运行一些程序。
问题是我需要执行一个包含数据集表适配器的过程。
显然,因为我希望它以批处理模式运行,所以我没有桌面适配器,因为它们是基于GUI的(或者至少我认为它们是这样的)所以我收到了这个错误:
'V_SyncStatusTableAdapter' is not a member of 'AppName.My.MyApplication'
对于此代码:
If Me.V_SyncStatusTableAdapter.GetData.Rows.Count > 0 Then
drSyncResult = Me.V_SyncStatusTableAdapter.GetData.Rows(0)
现在显然是因为表适配器没有,AFAIK无法放入ApplicationEvents.vb文件。
我知道数据集被称为:dsetWorkingTables
,该表名为v_SyncStatus
。我试过了:
dsetWorkingTablesTableAdapters.v_SyncStatusTableAdapter.GetData
但是这给出了:
reference to non shared member requires object reference
所以我的问题是:
如何从ApplicationEvents.vb文件中的数据集中获取数据?
答案 0 :(得分:1)
你需要针对它所存在的表单类引用你的表适配器。即使使用表单,你仍然可以像往常一样访问表单上的方法,你要避免的是form.Show(),这将是表单的形式出现在屏幕上。
答案 1 :(得分:1)
您的表适配器是否与Application Events分开?如果是这样,您需要引用该项目。
表适配器不仅适用于GUI,它们也可用于批处理或控制台应用程序。