Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ช่วยด้วยค่ะ บันทึกข้อมูลได้บ้างไม่ได้บ้าง จะบันทึกข้อมูลจาก Datatable จำนวน 8 Record ลงฐานข้อมูล Access



 

ช่วยด้วยค่ะ บันทึกข้อมูลได้บ้างไม่ได้บ้าง จะบันทึกข้อมูลจาก Datatable จำนวน 8 Record ลงฐานข้อมูล Access

 



Topic : 041077



โพสกระทู้ ( 108 )
บทความ ( 0 )



สถานะออฟไลน์




จะบันทึกข้อมูลจาก Datatable จำนวน 8 Record ลงฐานข้อมูล Access
ถ้า Debug ไว้ ก็บันทึกได้ทั้ง 8 แถว แต่พอเอา Debug ออก บันทึกได้แค่ 3 หรือ 4 หรือ 6 เองค่ะ ไม่รู้ว่าเป็นเพราะสั่งให้มันทำงานตอนเพจโหลดหรือเปล่าคะ
ลอง Search ดูแล้ว บอกว่าเป็นเรื่องของ Prommiss ก็เอา Read only ออกแล้วนะคะ แต่ก็ยังเป็นเหมือนเดิม แก้มาทั้งวันแล้วค่ะ ยังแก้ไม่ได้เลยค่ะ รบกวนช่วยหน่อยนะคะ
Code (VB.NET)
'ขึ้น Error : Could not update; currently locked by user 'Admin' on machine 'KONETWORK-NJ'.


 Public Function QueryExecuteNonQuery(ByVal strSQL As String) As Boolean

        objConn = New OleDbConnection
        
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        Try
            objCmd = New OleDbCommand()
            With objCmd
                .Connection = objConn
                .CommandType = CommandType.Text
                .CommandText = strSQL
            End With
            objCmd.ExecuteNonQuery()

            Return True '*** Return True ***'
        Catch ex As Exception

            Return False '*** Return False ***'

        End Try

    End Function



Code (VB.NET)
 Dim STRSALES As String = ""
        Dim ISINSSALES As Boolean = False
        Dim iSALES As Integer
        For iSALES = 0 To TBSALES.Rows.Count - 1
            STRSALES = " INSERT INTO SALES (SalesDate,RouteNo,InvNo,BILLITEM,CustCode,StockGroup,SHCode,QTY,Discount,Amount,PriceBig,PriceSmall,PVAT,LastUpdate) "
            STRSALES &= " VALUES ('@SalesDate',@RouteNo,@InvNo,'@BILLITEM','@CustCode','@StockGroup',@SHCode,@QTY,@Discount,@Amount,@PriceBig,@PriceSmall,@PVAT,'@LastUpdate')"
            STRSALES = STRSALES.Replace("@SalesDate", TBSALES.Rows(iSALES).Item("SALEDATE").ToString)
            STRSALES = STRSALES.Replace("@RouteNo", CLng(TBSALES.Rows(iSALES).Item("ROUTENO")))
            STRSALES = STRSALES.Replace("@InvNo", CLng(TBSALES.Rows(iSALES).Item("INVNO")))
            STRSALES = STRSALES.Replace("@BILLITEM", TBSALES.Rows(iSALES).Item("BILLITEM").ToString)
            STRSALES = STRSALES.Replace("@CustCode", TBSALES.Rows(iSALES).Item("CUSTCODE").ToString)
            STRSALES = STRSALES.Replace("@StockGroup", TBSALES.Rows(iSALES).Item("STOCKGROUP").ToString)
            STRSALES = STRSALES.Replace("@SHCode", CLng(TBSALES.Rows(iSALES).Item("SHCODE")))
            STRSALES = STRSALES.Replace("@QTY", CLng(TBSALES.Rows(iSALES).Item("QTY")))
            STRSALES = STRSALES.Replace("@Discount", CLng(TBSALES.Rows(iSALES).Item("DISCOUNT")))
            STRSALES = STRSALES.Replace("@Amount", CLng(TBSALES.Rows(iSALES).Item("AMOUNT")))
            STRSALES = STRSALES.Replace("@PriceBig", CLng(TBSALES.Rows(iSALES).Item("PRICEBIG")))
            STRSALES = STRSALES.Replace("@PriceSmall", CLng(TBSALES.Rows(iSALES).Item("PRICESMALL")))
            STRSALES = STRSALES.Replace("@PVAT", CLng(TBSALES.Rows(iSALES).Item("PVAT")))
            STRSALES = STRSALES.Replace("@LastUpdate", TBSALES.Rows(iSALES).Item("LASTUPDATE").ToString)
            ISINSSALES = clsSALES.QueryExecuteNonQuery(STRSALES)
            If ISINSSALES = True Then
                Response.Write("<br>  LOAD SALES//" + CStr(iSALES))
            End If
        Next


อีกอย่างค่ะ ตอนนี้พอรันเสร็จ กดสต๊อบ มันปิด IE ไปหมดเลยค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-03-31 14:37:17 By : njnight View : 2003 Reply : 3
 

 

No. 1



โพสกระทู้ ( 108 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้แก้ปัญหาด้วยการไม่เรียกผ่าน Function ค่ะ มัน Insert ได้ปกติเลยค่ะ ไม่รุ้เพราะอะไร

Code (VB.NET)
 Dim STRSALES As String = ""
        Dim ISINSSALES As Boolean = False
        Dim iSALES As Integer
        For iSALES = 0 To TBSALES.Rows.Count - 1
            STRSALES = " INSERT INTO SALES (SalesDate,RouteNo,InvNo,BILLITEM,CustCode,StockGroup,SHCode,QTY,Discount,Amount,PriceBig,PriceSmall,PVAT,LastUpdate) "
            STRSALES &= " VALUES ('@SalesDate',@RouteNo,@InvNo,'@BILLITEM','@CustCode','@StockGroup',@SHCode,@QTY,@Discount,@Amount,@PriceBig,@PriceSmall,@PVAT,'@LastUpdate')"
            STRSALES = STRSALES.Replace("@SalesDate", TBSALES.Rows(iSALES).Item("SALEDATE").ToString)
            STRSALES = STRSALES.Replace("@RouteNo", CLng(TBSALES.Rows(iSALES).Item("ROUTENO")))
            STRSALES = STRSALES.Replace("@InvNo", CLng(TBSALES.Rows(iSALES).Item("INVNO")))
            STRSALES = STRSALES.Replace("@BILLITEM", TBSALES.Rows(iSALES).Item("BILLITEM").ToString)
            STRSALES = STRSALES.Replace("@CustCode", TBSALES.Rows(iSALES).Item("CUSTCODE").ToString)
            STRSALES = STRSALES.Replace("@StockGroup", TBSALES.Rows(iSALES).Item("STOCKGROUP").ToString)
            STRSALES = STRSALES.Replace("@SHCode", CLng(TBSALES.Rows(iSALES).Item("SHCODE")))
            STRSALES = STRSALES.Replace("@QTY", CLng(TBSALES.Rows(iSALES).Item("QTY")))
            STRSALES = STRSALES.Replace("@Discount", CLng(TBSALES.Rows(iSALES).Item("DISCOUNT")))
            STRSALES = STRSALES.Replace("@Amount", CLng(TBSALES.Rows(iSALES).Item("AMOUNT")))
            STRSALES = STRSALES.Replace("@PriceBig", CLng(TBSALES.Rows(iSALES).Item("PRICEBIG")))
            STRSALES = STRSALES.Replace("@PriceSmall", CLng(TBSALES.Rows(iSALES).Item("PRICESMALL")))
            STRSALES = STRSALES.Replace("@PVAT", CLng(TBSALES.Rows(iSALES).Item("PVAT")))
            STRSALES = STRSALES.Replace("@LastUpdate", TBSALES.Rows(iSALES).Item("LASTUPDATE").ToString)
            'ISINSSALES = clsSALES.QueryExecuteNonQuery(STRSALES)
            Dim objConn As New OleDbConnection
            Dim objCmd As New OleDbCommand
            Dim strConnString As String
            strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/SALES.mdb") & ";Jet OLEDB:Database Password=;"
            objConn.ConnectionString = strConnString
            objConn.Open()
            With objCmd
                .Connection = objConn
                .CommandText = STRSALES
                .CommandType = CommandType.Text
            End With
            Try
                objCmd.ExecuteNonQuery()
                Response.Write("<br>  LOAD SALES//" + CStr(iSALES))
            Catch ex As Exception
                Response.Write("<br> Record can not insert Error (" & ex.Message & ")")
            End Try
            objConn.Close()
            objConn = Nothing
        Next
        







Date : 2010-03-31 14:48:39 By : njnight
 


 

No. 2

Guest


สร้าง class ชื่อ AccessDatabaseManager ใส่ไว้ใน folder app_code

ตรง constructor อันแรก ถ้าต้องการใส่ connection string ก็ใส่ลงไปจะได้ไม่ต้องใส่หลายหนตอนเรียก

AccessDatabaseManager.vb
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.OleDb

Public Class AccessDatabaseManager
    Private connection As OleDbConnection
    Private command As OleDbCommand

    Private _connectionString As String
    Private _commandString As String
    Private commandMessage As String = "You must execute command."
    Private commandSuccess As Boolean = False

    Public Sub New()
        'add default connection string here.

        '_connectionString = "ใส่ connection string ของคุณ สำหรับเป็นค่า default"
        'connection = New OleDbConnection(_connectionString)
    End Sub

    Public Sub New(ByVal connectionString As String)
        _connectionString = connectionString
        connection = New OleDbConnection(_connectionString)
    End Sub

    Public Property ConnectionString() As String
        Get
            Return _connectionString
        End Get
        Set(ByVal value As String)
            _connectionString = value
            connection = New OleDbConnection(_connectionString)
        End Set
    End Property

    Public Property CommandString() As String
        Get
            Return _commandString
        End Get
        Set(ByVal value As String)
            _commandString = value
            command = New OleDbCommand(_commandString, connection)
        End Set
    End Property

    Public ReadOnly Property IsSuccess() As Boolean
        Get
            Return commandSuccess
        End Get
    End Property

    Public ReadOnly Property Message() As String
        Get
            Return commandMessage
        End Get
    End Property

    Public Overridable Sub AddParameter(ByVal ParameterName As String, ByVal ParameterValue As Object)
        command.Parameters.AddWithValue(ParameterName, ParameterValue)
    End Sub

    Public Overridable Function ExecuteQuery() As DataTable
        Dim dataTable As New DataTable()

        Try
            Dim dataAdapter As New OleDbDataAdapter(Command)
            dataAdapter.Fill(dataTable)
            dataAdapter.Dispose()

            commandMessage = "Command is successfully."
            commandSuccess = True
        Catch ex As Exception
            commandMessage = ex.Message
            commandSuccess = False
        End Try

        Return dataTable
    End Function

    Public Overridable Function ExecuteScalar() As Object
        Dim Result As Object = 0

        Try
            sqlConnection.Open()
            Result = sqlCommand.ExecuteScalar()
            sqlConnection.Close()

            commandMessage = "Command is successfully."
            commandSuccess = True
        Catch ex As Exception
            commandMessage = ex.Message
            commandSuccess = False
        End Try

        Return Result
    End Function

    Public Overridable Function ExecuteNonQuery() As Boolean
        Try
            sqlConnection.Open()
            sqlCommand.ExecuteNonQuery()
            sqlConnection.Close()

            commandMessage = "Command is successfully."
            commandSuccess = True
        Catch ex As Exception
            commandMessage = ex.Message
            commandSuccess = False
        End Try

        Return commandSuccess
    End Function
End Class

Date : 2010-03-31 15:29:11 By : tungman
 

 

No. 3

Guest


Code (VB.NET)
        Dim ISINSSALES As Boolean = False
        Dim iSALES As Integer
        For iSALES = 0 To TBSALES.Rows.Count - 1
            Dim SALES As New AccessDatabaseManager()
            SALES.CommandString = "INSERT INTO [SALES] ([SalesDate], [RouteNo], [InvNo], [BILLITEM], [CustCode], [StockGroup], [SHCode], [QTY], [Discount], [Amount], [PriceBig], [PriceSmall], [PVAT], [LastUpdate]) VALUES (@SalesDate, @RouteNo, @InvNo, @BILLITEM, @CustCode, @StockGroup ,@SHCode, @QTY, @Discount, @Amount, @PriceBig, @PriceSmall, @PVAT, @LastUpdate)"
            SALES.AddParameter("@SalesDate", TBSALES.Rows(iSALES).Item("SALEDATE").ToString)
            SALES.AddParameter("@RouteNo", CLng(TBSALES.Rows(iSALES).Item("ROUTENO")))
            SALES.AddParameter("@InvNo", CLng(TBSALES.Rows(iSALES).Item("INVNO")))
            SALES.AddParameter("@BILLITEM", TBSALES.Rows(iSALES).Item("BILLITEM").ToString)
            SALES.AddParameter("@CustCode", TBSALES.Rows(iSALES).Item("CUSTCODE").ToString)
            SALES.AddParameter("@StockGroup", TBSALES.Rows(iSALES).Item("STOCKGROUP").ToString)
            SALES.AddParameter("@SHCode", CLng(TBSALES.Rows(iSALES).Item("SHCODE")))
            SALES.AddParameter("@QTY", CLng(TBSALES.Rows(iSALES).Item("QTY")))
            SALES.AddParameter("@Discount", CLng(TBSALES.Rows(iSALES).Item("DISCOUNT")))
            SALES.AddParameter("@Amount", CLng(TBSALES.Rows(iSALES).Item("AMOUNT")))
            SALES.AddParameter("@PriceBig", CLng(TBSALES.Rows(iSALES).Item("PRICEBIG")))
            SALES.AddParameter("@PriceSmall", CLng(TBSALES.Rows(iSALES).Item("PRICESMALL")))
            SALES.AddParameter("@PVAT", CLng(TBSALES.Rows(iSALES).Item("PVAT")))
            SALES.AddParameter("@LastUpdate", TBSALES.Rows(iSALES).Item("LASTUPDATE").ToString)
            ISINSSALES = SALES.ExecuteNonQuery()

            If ISINSSALES = True Then
                Response.Write("<br>  LOAD SALES//" + CStr(iSALES))
            End If
        Next

Date : 2010-03-31 15:38:25 By : tungman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยด้วยค่ะ บันทึกข้อมูลได้บ้างไม่ได้บ้าง จะบันทึกข้อมูลจาก Datatable จำนวน 8 Record ลงฐานข้อมูล Access
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่