Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why the view doesn't want to update record?
Message
General information
Forum:
Visual FoxPro
Category:
Client/server
Miscellaneous
Thread ID:
00848613
Message ID:
00848695
Views:
16
Boris,
Your remote view has a datetime value configured as one of the key fields. Since VFP and SQL Server have different precision for datetimes, it could be causing a problem I noticed you don't use the date field in your SQLEXEC call.

HTH.

>I create a remote view based on connection to an SQL Server database & set this view to update some fields. Here the code from View Designer:
>
>SELECT Inout.CardID, Inout.DateTime, Inout.Door, Inout.username,;
>  Inout.changed, Common.Name, Common.Description, Inout.KeyNum;
> FROM ;
>     dbo.InOut Inout ;
>    INNER JOIN dbo.Common Common ;
>   ON  Inout.Door = Common.Number;
>   AND  Common.CatID = ( 110 );
> WHERE  Inout.CardID = ( ?main_id );
>   AND  Inout.DateTime BETWEEN ?frstdat AND ?scnddat;
> ORDER BY Inout.DateTime
>
>DBSetProp(ThisView,"View","SendUpdates",.T.)
>DBSetProp(ThisView,"View","BatchUpdateCount",1)
>DBSetProp(ThisView,"View","CompareMemo",.T.)
>DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
>DBSetProp(ThisView,"View","FetchMemo",.T.)
>DBSetProp(ThisView,"View","FetchSize",100)
>DBSetProp(ThisView,"View","MaxRecords",-1)
>DBSetProp(ThisView,"View","Prepared",.F.)
>DBSetProp(ThisView,"View","ShareConnection",.F.)
>DBSetProp(ThisView,"View","AllowSimultaneousFetch",.F.)
>DBSetProp(ThisView,"View","UpdateType",1)
>DBSetProp(ThisView,"View","UseMemoSize",255)
>DBSetProp(ThisView,"View","Tables","dbo.InOut")
>DBSetProp(ThisView,"View","WhereType",3)
>DBSetProp(ThisView,"View","ParameterList","mainid,'I';frstdat,'T';scnddat,'T'")
>
>DBSetProp(ThisView+".cardid","Field","DataType","I")
>DBSetProp(ThisView+".cardid","Field","UpdateName","dbo.InOut.CardID")
>DBSetProp(ThisView+".cardid","Field","KeyField",.T.)
>DBSetProp(ThisView+".cardid","Field","Updatable",.T.)
>
>DBSetProp(ThisView+".datetime","Field","DataType","T")
>DBSetProp(ThisView+".datetime","Field","UpdateName","dbo.InOut.DateTime")
>DBSetProp(ThisView+".datetime","Field","KeyField",.T.)
>DBSetProp(ThisView+".datetime","Field","Updatable",.T.)
>
>DBSetProp(ThisView+".door","Field","DataType","I")
>DBSetProp(ThisView+".door","Field","UpdateName","dbo.InOut.Door")
>DBSetProp(ThisView+".door","Field","KeyField",.T.)
>DBSetProp(ThisView+".door","Field","Updatable",.T.)
>
>DBSetProp(ThisView+".username","Field","DataType","C(21)")
>DBSetProp(ThisView+".username","Field","UpdateName","dbo.InOut.username")
>DBSetProp(ThisView+".username","Field","KeyField",.T.)
>DBSetProp(ThisView+".username","Field","Updatable",.T.)
>
>DBSetProp(ThisView+".changed","Field","DataType","I")
>DBSetProp(ThisView+".changed","Field","UpdateName","dbo.InOut.changed")
>DBSetProp(ThisView+".changed","Field","KeyField",.T.)
>DBSetProp(ThisView+".changed","Field","Updatable",.T.)
>
>DBSetProp(ThisView+".name","Field","DataType","C(50)")
>DBSetProp(ThisView+".name","Field","UpdateName","dbo.Common.Name")
>DBSetProp(ThisView+".name","Field","KeyField",.F.)
>DBSetProp(ThisView+".name","Field","Updatable",.F.)
>
>DBSetProp(ThisView+".description","Field","DataType","C(50)")
>DBSetProp(ThisView+".description","Field","UpdateName","dbo.Common.Description")
>DBSetProp(ThisView+".description","Field","KeyField",.F.)
>DBSetProp(ThisView+".description","Field","Updatable",.F.)
>
>DBSetProp(ThisView+".keynum","Field","DataType","I")
>DBSetProp(ThisView+".keynum","Field","UpdateName","dbo.InOut.KeyNum")
>DBSetProp(ThisView+".keynum","Field","KeyField",.T.)
>DBSetProp(ThisView+".keynum","Field","Updatable",.F.)
>
>
>but when I try to change some of updateable fields "Update conflict" is fired, but ONLY in the first record for every date.
>
>
>When I try the same with SQLEXEC command:
>
>OPEN DATABASE CheckPoint
>cSQL = SQLCONNECT("MyConnection") && returns 1
>? SQLEXEC(cSQL, "UPDATE InOut SET UserName = 'Me' SET Changed = 2 WHERE InOut.CardId = 976 and InOut.KeyNum = 32672")
>
>
>everything is OK. Why?
Larry Miller
MCSD
LWMiller3@verizon.net

Accumulate learning by study, understand what you learn by questioning. -- Mingjiao
Previous
Reply
Map
View

Click here to load this message in the networking platform