Click here to Skip to main content
15,913,934 members
Home / Discussions / Visual Basic
   

Visual Basic

 
AnswerRe: Join access table to sql server Pin
Mycroft Holmes11-Feb-10 15:55
professionalMycroft Holmes11-Feb-10 15:55 
GeneralRe: Join access table to sql server Pin
C#Coudou11-Feb-10 17:38
C#Coudou11-Feb-10 17:38 
QuestionHow do I call a method from a worker thread on the master thread? Pin
BlackCatDeveloper11-Feb-10 12:04
BlackCatDeveloper11-Feb-10 12:04 
QuestionApplication or setup Pin
Gagan.2011-Feb-10 3:00
Gagan.2011-Feb-10 3:00 
AnswerRe: Application or setup Pin
Dave Kreskowiak11-Feb-10 4:30
mveDave Kreskowiak11-Feb-10 4:30 
GeneralRe: Application or setup Pin
Gagan.2011-Feb-10 4:34
Gagan.2011-Feb-10 4:34 
GeneralRe: Application or setup Pin
The Man from U.N.C.L.E.11-Feb-10 13:15
The Man from U.N.C.L.E.11-Feb-10 13:15 
Questionvb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
gengel10-Feb-10 22:18
gengel10-Feb-10 22:18 
Good day,

I have tried various methods to update an SQL database, but every time the database is updated but not the dataset.
I have done it with addrow and accept changes and with execute no query, but the dataset does not register the changes made. I have to MAIN.data.DS.Tables.Remove("Orders") and then add the datatable back to the dataset with the data adapter:

Example 1:
Function Add_Orders_Row() As Boolean
        Try
            Dim RowISAdded As Boolean = False
            If txtQuantity.Text <> "" And txtProductionNo.Text <> "" _
            And txtWeek.Text <> "" And txtPart.Text <> "" _
            And cboProductCode.Text <> "" And txtPart.Text <> "" _
            And txtWorksOrderNo.Text <> "" Then
                Dim dt As DataTable = MAIN.data.DS.Tables("Orders")
                Dim dr As DataRow = dt.NewRow
                dr.Item("OrderStatus") = cboOrderStatus.Text
                dr.Item("SamsungRef") = "NA"
                dr.Item("ProductCode") = cboProductCode.Text
                dr.Item("ProductSerialNo") = txtProductSerialNo.Text
                dr.Item("ProductionNo") = txtProductionNo.Text
                dr.Item("WeekNo") = txtWeek.Text
                dr.Item("PartNo") = CType(txtPart.Text, Integer)
                dr.Item("OrderDate") = dtpOrderDate.Text
                dr.Item("QuantityOrder") = CType(txtQuantity.Text, Integer)
                dr.Item("QuantityScanned") = 0
                dr.Item("WorksOrderNo") = txtWorksOrderNo.Text
                If txtFirstSerial.Text = "" Then
                    dr.Item("FirstSerialNo") = "<SCAN>"
                    dr.Item("LastSerialNo") = "<CALC>"
                Else
                    dr.Item("FirstSerialNo") = txtFirstSerial.Text
                    dr.Item("LastSerialNo") = txtLastSerial.Text
                End If

                dr.Item("timenow") = Date.Now
                dt.Rows.Add(dr)
                'Update new row to database
                Dim qry As String = "SELECT * FROM Orders"
                If MAIN.data.Conn.State = ConnectionState.Closed Then MAIN.data.Conn.Open()
                Dim da1 As New SqlClient.SqlDataAdapter
                da1.SelectCommand = New SqlClient.SqlCommand(qry, MAIN.data.Conn)
                Dim cb1 As SqlClient.SqlCommandBuilder = New System.Data.SqlClient.SqlCommandBuilder(da1)
                da1.Update(MAIN.data.DS, "Orders")
                MAIN.data.DS.Tables.Remove("Orders")
                'Reatach datatable to dataset. Refresh primary keys
                MAIN.data.Load_Table("SELECT * FROM Orders", "Orders")
                Dim findrow As DataRow() = dt.Select("ProductionNo= '" & txtProductionNo.Text & "'")
                If findrow.Length = 1 Then
                    RowISAdded = True
                Else
                    RowISAdded = False
                End If
            Else
                MessageBox.Show("Cannot add record, as some fields are blank. Please add all relevant data.")
                RowISAdded = False
            End If

            Return RowISAdded
        Catch ex As Exception
            MessageBox.Show("Add_Orders_Row, " & ex.Message)
            Return False
        End Try
 End Function


Example 2:
Function UNIT_Add_New() As Boolean
        Try
            Dim UnitIsAdded As Boolean = False
            
            Dim strSQL As String = "INSERT INTO UNITS " & _
                                    "(ScanCount,OrderID,SerialNo,ScanStatus,Description,ScanDate, " & _
                                    "SamsungRef, ProductCode,ProductSerialNo,ProductionNo,WeekNo," & _
                                    "PartNo,OrderDate,QuantityOrder,FirstSerialNo,LastSerialNo,WorksOrderNo)" & _
                                    "VALUES" & _
                                    "(@ScanCount,@OrderID,@SerialNo,@ScanStatus,@Description,@ScanDate,@SamsungRef, " & _
                                    "@Productcode,@ProductSerialNo,@ProductionNo,@WeekNo,@PartNo,@OrderDate,@QuantityOrder, " & _
                                    "@FirstSerialNo,@LastSerialNo,@WorksOrderNo); "
            Dim da As New SqlClient.SqlDataAdapter
            da.SelectCommand = New SqlClient.SqlCommand("SELECT * FROM UNTIS", MAIN.data.Conn)

            Dim cmdAddNew As New SqlClient.SqlCommand(strSQL, MAIN.data.Conn)
            cmdAddNew.Parameters.Add("@OrderID", SqlDbType.Int).Value = Me.drFoundOrder.Item("OrderID")
            cmdAddNew.Parameters.Add("@ScanCount", SqlDbType.Int).Value = Units_Scanned()
            cmdAddNew.Parameters.Add("@SerialNo", SqlDbType.VarChar, 50).Value = txtSerialNo.Text
            cmdAddNew.Parameters.Add("@ScanStatus", SqlDbType.VarChar, 50).Value = txtScanStatus.Text
            cmdAddNew.Parameters.Add("@Description", SqlDbType.VarChar, 255).Value = txtDescription.Text
            cmdAddNew.Parameters.Add("@ScanDate", SqlDbType.DateTime).Value = Date.Now
            cmdAddNew.Parameters.Add("@SamsungRef", SqlDbType.VarChar, 50).Value = "NA"
            cmdAddNew.Parameters.Add("@ProductCode", SqlDbType.VarChar, 50).Value = Me.drFoundOrder.Item("ProductCode")
            cmdAddNew.Parameters.Add("@ProductSerialNo", SqlDbType.VarChar, 50).Value = Me.drOrder.Item("ProductSerialNo")
            cmdAddNew.Parameters.Add("@ProductionNo", SqlDbType.VarChar, 50).Value = Me.drOrder.Item("ProductionNo")
            cmdAddNew.Parameters.Add("@WeekNo", SqlDbType.VarChar, 3).Value = Me.drOrder.Item("WeekNo")
            cmdAddNew.Parameters.Add("@PartNo", SqlDbType.SmallInt).Value = CType(Me.drOrder.Item("PartNo"), Integer)
            cmdAddNew.Parameters.Add("@OrderDate", SqlDbType.DateTime).Value = Me.drFoundOrder.Item("OrderDate")
            cmdAddNew.Parameters.Add("@QuantityOrder", SqlDbType.SmallInt).Value = CType(Me.drFoundOrder.Item("QuantityOrder"), Integer)
            cmdAddNew.Parameters.Add("@FirstSerialNo", SqlDbType.VarChar, 50).Value = Me.drFoundOrder.Item("FirstSerialNo")
            cmdAddNew.Parameters.Add("@LastSerialNo", SqlDbType.VarChar, 50).Value = Me.drFoundOrder.Item("LastSerialNo")
            cmdAddNew.Parameters.Add("@WorksOrderNo", SqlDbType.VarChar, 50).Value = Me.drFoundOrder.Item("WorksOrderNo")

            If MAIN.data.Conn.State = ConnectionState.Closed Then MAIN.data.Conn.Open()
            Dim itest As Integer = cmdAddNew.ExecuteNonQuery()
            'da.InsertCommand = cmdAddNew
            'da.Update(MAIN.data.DS, "UNITS")
            MAIN.data.DS.Tables("UNITS").AcceptChanges()
            If MAIN.data.Conn.State = ConnectionState.Open Then MAIN.data.Conn.Close()

            If itest = 1 Then
                UnitIsAdded = True
            Else
                UnitIsAdded = False
            End If
            Return UnitIsAdded
        Catch ex As Exception
            MessageBox.Show("UNIT_Add_New, " & ex.Message)
            Return False
        End Try

    End Function


Both do the same that SQL database is updated, but the dataset does not know what happened. So you cannot count the rows or get data from the new row in the dataset.
AnswerRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
Dave Kreskowiak11-Feb-10 1:42
mveDave Kreskowiak11-Feb-10 1:42 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
gengel11-Feb-10 2:12
gengel11-Feb-10 2:12 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
Dave Kreskowiak11-Feb-10 3:56
mveDave Kreskowiak11-Feb-10 3:56 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
gengel11-Feb-10 4:12
gengel11-Feb-10 4:12 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
Dave Kreskowiak11-Feb-10 5:02
mveDave Kreskowiak11-Feb-10 5:02 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
William Winner11-Feb-10 6:34
William Winner11-Feb-10 6:34 
AnswerRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
William Winner11-Feb-10 6:16
William Winner11-Feb-10 6:16 
AnswerRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
William Winner11-Feb-10 6:21
William Winner11-Feb-10 6:21 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
gengel11-Feb-10 18:28
gengel11-Feb-10 18:28 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
gengel11-Feb-10 18:30
gengel11-Feb-10 18:30 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
gengel11-Feb-10 23:35
gengel11-Feb-10 23:35 
GeneralRe: vb.net 2008 Express to SQL - Dataset does not show changes in DB Pin
William Winner12-Feb-10 6:09
William Winner12-Feb-10 6:09 
QuestionInternet Connection with VB 6 Pin
jayachandra.c10-Feb-10 19:45
jayachandra.c10-Feb-10 19:45 
AnswerRe: Internet Connection with VB 6 Pin
Eddy Vluggen10-Feb-10 21:27
professionalEddy Vluggen10-Feb-10 21:27 
GeneralRe: Internet Connection with VB 6 Pin
rhuiden11-Feb-10 8:56
rhuiden11-Feb-10 8:56 
QuestionHow to conver Exhadecimal to Text ? Pin
Golden Jing10-Feb-10 17:14
Golden Jing10-Feb-10 17:14 
AnswerRe: How to conver Exhadecimal to Text ? Pin
Eddy Vluggen10-Feb-10 21:46
professionalEddy Vluggen10-Feb-10 21:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.