﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Check record uniqueness (multi record uodate)</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Wed, 09 Sep 2026 10:50:04 GMT</lastBuildDate><ttl>20</ttl><item><title>Check record uniqueness (multi record uodate)</title><link>http://forum.strataframe.net/FindPost6633.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;I allow user to add more than one record (let say order lineitems), then only press save button to in one batch.&lt;/P&gt;&lt;P&gt;I need to check for record uniqueness after new record added. &lt;/P&gt;&lt;P&gt;1. How to check uniquness before actually save to db?&lt;/P&gt;&lt;P&gt;2. If I loop thru the records to check for uniqueness, any impact if my "record pointer" moved?&lt;/P&gt;&lt;P&gt;Thank you</description><pubDate>Thu, 08 Feb 2007 09:46:20 GMT</pubDate><dc:creator>Chan</dc:creator></item><item><title>RE: Check record uniqueness (multi record uodate)</title><link>http://forum.strataframe.net/FindPost6647.aspx</link><description>You can modify the source code to look through the BO as well.&amp;nbsp; You can do this a lot of different ways.&amp;nbsp; Save off the record pointer and scan through the BO.&amp;nbsp; Or reference the CurrentDataTable and do a select.&lt;/P&gt;&lt;P&gt;[codesnippet]MyBO.CurrentDataTable.Select("MyTestField='TestVa'ue'").Length &amp;gt; 0[/codesnippet]&lt;/P&gt;&lt;P&gt;Combine the local and the server values to get your final result.&amp;nbsp; Be sure to always exclude the current record otherwise this will return an incorrect value.</description><pubDate>Thu, 08 Feb 2007 09:46:20 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Check record uniqueness (multi record uodate)</title><link>http://forum.strataframe.net/FindPost6646.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;Thank you for reply.&lt;/P&gt;&lt;P&gt;Your sample code is to check if any duplicate record already stored in DB.&lt;/P&gt;&lt;P&gt;How about still in memory? My form allow user to add multiple records then only save.&lt;/P&gt;&lt;P&gt;BTW, anything need to set for multi records update? I remember that is a property to set for multiple record update but I cant recall where exactly. I failed to get it back from doc.&lt;/P&gt;&lt;P&gt;Thank you</description><pubDate>Thu, 08 Feb 2007 09:42:16 GMT</pubDate><dc:creator>Chan</dc:creator></item><item><title>RE: Check record uniqueness (multi record uodate)</title><link>http://forum.strataframe.net/FindPost6634.aspx</link><description>You need to just create a scalar method that checks to see if there is another record with this uniquness.&amp;nbsp; It would look something like this:&lt;/P&gt;&lt;P&gt;[codesnippet]Public Function AreThereDuplicates(Byval MyTestValue As String) As Boolean&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Establish Locals&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim loCommand As New SqlClient.SqlCommand&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lnPK As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Get the primary key&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Me.Count = 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lnPK = -1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lnPK = Me.MyPrimaryKey&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Build the SELECT string&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loCommand.CommandText = "SELECT Count(*) FROM MyTable WHERE MyPrimaryKey != @MyPrimaryKey"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loCommand.CommandText &amp;amp;= " AND MyTestField = @MyTestField"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Create the parameters&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loCommand.Parameters.Add(New SqlClient.SqlParameter("@MyPrimaryKey", SqlDbType.Int))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loCommand.Parameters.Add(New SqlClient.SqlParameter("@MyTestField", SqlDbType.VarChar))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Set the values&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loCommand.Parameters.Item("@MyPrimaryKey").Value = lnPK&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loCommand.Parameters.Item("@MyTestField").Value = MyTestValue&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Return Results&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return Me.ExecuteScalar(loCommand) &amp;gt; 0&lt;BR&gt;End Function[/codesnippet]&lt;/P&gt;&lt;P&gt;Then just call this in your business rules when checking (or whenever you need to):&lt;/P&gt;&lt;P&gt;[codesnippet]If AreThereDuplicates("TestValue") Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.AddBrokenRule(...)&lt;BR&gt;End If[/codesnippet]</description><pubDate>Thu, 08 Feb 2007 09:03:48 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>