Problem Updating Database from Data set
I think that the problem rises for the presence of a key column, but i don't know what to do!!!
Anyone can halp me?
Here is the code:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class Form1
Private Const CONNECTION_STRING2 As String = _
"Integrated Security=SSPI;Persist Security Info=False;" & _
"Initial Catalog=Northwind;Data Source=.\SQLEXPRESS"
Private Const CONNECTION_STRING As String = _
"Integrated Security=SSPI;Persist Security Info=False;" & _
"Initial Catalog=ITWORKS;Data Source=.\SQLEXPRESS"
Public conn As New SqlConnection(CONNECTION_STRING)
Public ConnNorth As New SqlConnection(CONNECTION_STRING2)
Public da As SqlDataAdapter
Public DaNorth As SqlDataAdapter
Public dataSet As DataSet = New DataSet
Public dataSet2 As DataSet = New DataSet
Public dataSet3 As DataSet = New DataSet
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn.Open()
da = New SqlDataAdapter()
Dim cmd As SqlCommand
Dim cmdtext As String
cmdtext = "SET IDENTITY_INSERT Employees ON; SELECT * FROM [ITWORKS].[dbo].[Employees]"
'cmdtext = " SELECT * FROM [ITWORKS].[dbo].[Employees]"
cmd = New SqlCommand(cmdtext, conn)
cmd.CommandType = CommandType.Text
cmd.Connection = conn
' Set the SqlDataAdapter's SelectCommand.
da.SelectCommand = cmd
'DataGrid1.DataSource = dataSet
dataSet = New DataSet()
dataSet.Clear()
da.Fill(dataSet)
dataSet.Tables(0).TableName = "Employees"
DataGrid1.DataSource = dataSet.Tables("Employees")
ConnNorth.Open()
DaNorth = New SqlDataAdapter()
Dim cmdNorthj As SqlCommand
cmdtext = "SET IDENTITY_INSERT Employees ON; SELECT * FROM [Northwind].[dbo].[Employees]"
cmdNorthj = New SqlCommand(cmdtext, ConnNorth)
cmdNorthj.CommandType = CommandType.Text
cmdNorthj.Connection = ConnNorth
' Set the SqlDataAdapter's SelectCommand.
DaNorth.SelectCommand = cmdNorthj
'dataSet = New DataSet("Employees")
DaNorth.Fill(dataSet2)
dataSet2.Tables(0).TableName = "EmployeesOriginale"
grdAll.DataSource = dataSet2.Tables("EmployeesOriginale")
conn.Close()
ConnNorth.Close()
'grdAll.DataSource = dataSet
'DataGrid1.Update()
End Sub
Private Sub DataGrid1_Navigate(ByVal sender As System.Object, ByVal ne As System.Windows.Forms.NavigateEventArgs) Handles grdAll.Navigate
End Sub
Private Sub btnUpdatate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdatate.Click
conn.Open()
Dim nuovaRow As DataRow
nuovaRow = dataSet2.Tables("EmployeesOriginale").Rows(0)
Console.WriteLine(nuovaRow(1))
Dim tSource As DataTable = dataSet.Tables("Employees")
DataGrid2.DataSource = tSource
dataSet.Tables("Employees").ImportRow(dataSet2.Tables("EmployeesOriginale").Rows(7))
dataSet.Tables("Employees").Rows(9).Item(0) = 10
DataGrid1.SetDataBinding(dataSet, "Employees")
Dim builder As SqlCommandBuilder = New SqlCommandBuilder(da)
Console.WriteLine(builder.GetUpdateCommand.CommandText)
builder.GetUpdateCommand()
da.Update(dataSet, "Employees")
conn.Close()
MsgBox("fatto")
End Sub
End Class

