2014-12-21 62 views
0

我正在使用下面的代码来创建datagridview。Dataadapter2未声明

Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

这里的其他代码导入文件

然后将下面的代码来构建一个DataTable

Dim sql2 As String = "SELECT i.[ID],i.[Site],i.[CLI],i.[CustomerName],i.[FromDate],i.[ToDate],i.[Quantity],i.[UnitCost],i.[TotalCost],i.[Description],i.[filenameonly],i.billingmonth as [CurrentBillingMonth], i.[bill] From [DaisyServices].[dbo].[DaisyServicesIndigo] i LEFT JOIN [DaisyServices].[dbo].[" + TextBox1.Text + "] s on i.[SITE]=s.[SITE] AND i.[CLI]=s.[CLI] AND i.[Quantity]=s.[Quantity] AND i.[UnitCost]=s.[UnitCost] AND i.[TotalCost]=s.[TotalCost] AND i.[Description]=s.[Description] WHERE s.[CLI] is NULL" 
Dim comm2 As SqlCommand = New SqlCommand(sql2, conn) 
Dim dataadapter2 As SqlDataAdapter = New SqlDataAdapter(comm2) 


'Fill Table 
dataadapter2.Fill(ds, "Missing") 
DataGridView3.AutoGenerateColumns = False 
DataGridView3.DataSource = ds.Tables("Missing") 

我想创建的一个按钮表格以保存回数据库,例如

Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click 

    'Save updated Customer DataGridView 
    Dim sqlCmdBuilder As New SqlCommandBuilder(dataadapter2) 
    sqlCmdBuilder.GetUpdateCommand() 
    dataadapter2.Update(ds.Tables("Missing")) 

End Sub 

麻烦的是将Button4我得到一个错误,指出dataadapter2未声明

我如何构建代码,以便它是将Button4访问>

我尝试添加了DIM的到但是这导致了其他问题,通过“未设置为对象实例的对象引用”。当打开表格时。

任何帮助,不胜感激

感谢

+1

参见[在Visual Basic范围(http://msdn.microsoft.com/ en-us/library/1t0wsc67.aspx) – Plutonix

+0

需要将类级别用于多个子级,问题可能是'comm2'对象尚未初始化 – OneFineDay

+0

conn已经在类级别初始化,麻烦的是当我在类级别定义SqlDataAdapter和SqlCommand时。我得到“对象引用未设置为对象的实例”。错误 – user3580480

回答

0

申报dataadapter2公开,这样你们可以从乌尔其他功能访问

+0

如果我在顶层PUBLIC类中定义了所有的数据适配器,以便它在任何地方都可用。它错误“”对象引用未设置为对象的实例“当我打开表单 – user3580480

+0

声明私人 –

+0

您的对象引用错误可能来自其他部分而不是来自dataadapter2只是检查 –