Re: Urgent pls: Poor performance on update/insert

From: Allcomp (marc_at_nospam.allcomp.be)
Date: 01/27/05

  • Next message: Greg Teets: "Re: Data Report Fails - Error "Failed getting rowsets from current data source""
    Date: Thu, 27 Jan 2005 16:46:45 +0100
    
    

    Hello,

    Personally, I would create a stored procedure like that and use the
    procedure to make the insert / Update

    Create procedure .....
    as
    SET NOCOUNT ON
    Update Table Set ...
    Where ...
    IF @@RowCount = 0
      Insert into Table.....
      Values (....)

    Marc Allard
    Allcomp

    Aykut Canturk wrote:
    > I need to update a set of records in SQL server table.
    > But due to neccessities, the number of records on the screen can be
    > different from the number of records in database.
    >
    > If a record exits on database, I need to update it. if it doesn't I need to
    > insert a new one
    >
    > the sample code is below. but the performance is very poor. I works a little
    > slow on development computer. I mean application and SQL server are both
    > installed on same PC. but it you separete them and take SQL server to
    > another PC on network (which is full dublex 100mbps) performace becomes very
    > boring stages. even for 20 records (600 total records on table) this
    > procedure waits very very long times like 10 to 20 seconds.
    >
    > Any idea about how can I make this routine faster ? for example with single
    > sql statement or someting.
    >
    >
    > PS: guidid field is the key field on this table.
    >
    >
    > cn.Open ConnectionString
    >
    > cn.BeginTrans
    >
    > sqlstr = "SELECT * FROM rackrates"
    >
    > rst.Open sqlstr, cn, adOpenDynamic, adLockOptimistic
    >
    > For a = 1 To RoomCount
    >
    > CurrentRecordGuidid = myarray(a) ' get record guidid to be updated or
    > added from an array
    >
    > rst.Filter = "guidid='" & CurrentRecordGuidid & "' "
    >
    > If rst.BOF And rst.EOF Then ' means no record, let's add one
    > rst.AddNew
    > End If
    >
    > rst("guidid") = CurrentRecordGuidid
    >
    > rst("name") = "something"
    >
    > ' .... update other fields
    >
    > rst.Update
    > Next
    > cn.CommitTrans
    >
    >
    >


  • Next message: Greg Teets: "Re: Data Report Fails - Error "Failed getting rowsets from current data source""

    Relevant Pages

    • Re: MS Access DAO -> ADO.NET Migration
      ... William Vaughn ... Microsoft MVP ... Hitchhiker's Guide to Visual Studio and SQL Server ... My migration app works building a SSCE database file with imported data ...
      (microsoft.public.dotnet.framework.adonet)
    • Re: Cluster will not fail over.
      ... > As far as the TCP/IP issue goes, you had to rebuild the cluster and were ... > able to restore the master database. ... > a cluster installation you'll have to revisit. ... >> This worked bringing up the sql server in minimal mode. ...
      (microsoft.public.sqlserver.clustering)
    • Re: MS Access DAO -> ADO.NET Migration
      ... full SQL Server and I see the logic you explained in a multi user ... allow two users to access the same database file Read/Write at any given ... The book was a pleasure to read after the gibberish that Microsoft 'puts ... Hitchhiker's Guide to Visual Studio and SQL Server ...
      (microsoft.public.dotnet.framework.adonet)
    • Re: MS Access DAO -> ADO.NET Migration
      ... For that it is much harder to handle the incremental identifier, ... database but although they have the data, they are not connected at the same ... The book was a pleasure to read after the gibberish that Microsoft 'puts ... SQL Server Management Studio is nowhere to be found on my ...
      (microsoft.public.dotnet.framework.adonet)
    • Re: Word 2003/Access2000/SQLSVR
      ... SQL server being where the data is held and this is accessed through a MS ... entire database and that may be say a record for Berkshire. ... "Peter Jamieson" wrote: ... replaced with the first record on the table in use. ...
      (microsoft.public.word.mailmerge.fields)

  • Quantcast