[GRASS-user] help with v.db.update

Sharon M morrisxs09 at gmail.com
Wed Apr 6 03:12:45 EDT 2011


Why does the DBF driver handle like when using v.db.select?

On Wed, Apr 6, 2011 at 4:29 PM, Richard Chirgwin
<rchirgwin at ozemail.com.au> wrote:
> On 6/04/11 4:36 PM, grass-user-request at lists.osgeo.org wrote:
>>
>> Message: 9
>> Date: Wed, 6 Apr 2011 16:06:13 +0930
>> From: Sharon M<morrisxs09 at gmail.com>
>> Subject: [GRASS-user] help with v.db.update
>> To:grass-user at lists.osgeo.org
>> Message-ID:<BANLkTi=oHUEGstNAuinLiYAMfo5-P3RBFA at mail.gmail.com>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> I'm trying to update an attribute table column using v.db.update with
>> the DBF driver and keep getting a dbmi: Protocol error message.
>>
>> Example using Spearfish
>>
>> g.copy vect=fields,myfields
>>
>> v.db.addcol myfields col="polynum integer"
>>
>> v.db.select myfields where="label like 'V%'"
>> cat|label|polynum
>> 59|V. White#1|
>>
>> v.db.update myfields col=polynum val=42 where="label like 'V%'"
>> dbmi: Protocol error
>> ERROR: Error while executing: 'UPDATE myfields SET polynum=42 WHERE
>> label like V%
>> '
>>
>> I've tried this on both winGrass 6.4 rc2 or winGrass 6.5 r45847 on
>> winXP using the wxGUI via both the v.db.update module and the wxgui
>> command line and get the same error issue.
>>
>> What am I doing wrong? Can anyone help please?
>>
>> Thanks in advance!
>
> The dbf driver doesn't handle "like". Try:
>
> v.db.update myfields column=polynum val=42 where='cat=59'
>
> and see what happens ...
>
> If you need more advanced query parameters such as "like", use a different
> database driver - pg or mysql.
>
> Richard
> If
>
>


More information about the grass-user mailing list