Thread: Problem with driver ODBC / VB
Hello, =20 These tests are done with the 2 versions of the driver 7.3 =20 Table User description : u_num int4 nextval( =85), u_comm varchar(512) =20 In my table I have one row :=20 u_num 1 u_comm =91hello world <CR><LF> all is fine.=92 =20 Imagine I want to delete this row Sql =3D =93select * from user where u_num=3D1=94 Set rs =3D odbc_cnx.OpenResultset( sql, rdOpenKeyset, rdConcurRowver ) Rs.Edit Rs.delete Rs.close The row is not deleted. Of course because in the log file, I find Sql =3D =93Delete from user where u_num=3D1 and u_comm=3D=91hel= lo world all is fine.=92=94 =20 I have found how to do : Sql =3D =93select u_num from user where u_num=3D1=94 Set rs =3D odbc_cnx.OpenResultset( sql, rdOpenKeyset, rdConcurRowver ) Rs.Edit Rs.delete Rs.close And now it is ok since in the log file, I find Sql =3D =93Delete from user where u_num=3D1=94 =20 But I have the same problem with update : Sql =3D =93select u_num, u_comm from user where u_num=3D1=94 Set rs =3D odbc_cnx.OpenResultset( sql, rdOpenKeyset, rdConcurRowver ) Rs.Edit Rs(=93u_comm=94).value =3D =93bonjour=94 Rs.update Rs.close In the log file, I find Sql =3D =93Update from user set u_comm=3D=92bonjour=92 where u_= num=3D1 and u_comm=3D=91hello world all is fine.=92=94 Is there anything to do to obtain from the driver something like : Sql =3D =93Update from user set u_comm=3D=92bonjour=92 where u_= num=3D1=94 Since we don=92t need the second clause. =20 Thank you very much if you have a solution. =20 H=E9l=E8ne FESTOC Kalitech - 01 69 41 97 54 =20 =20
Kalitech schrieb: > Hello, > > > > These tests are done with the 2 versions of the driver 7.3 > > > > Table User description : u_num int4 nextval( …), u_comm varchar(512) > > > > In my table I have one row : > > u_num 1 > > u_comm ‘hello world <CR><LF> all is fine.’ > > > > Imagine I want to delete this row > > Sql = “select * from user where u_num=1” > > Set rs = odbc_cnx.OpenResultset( sql, rdOpenKeyset, > rdConcurRowver ) > > Rs.Edit > > Rs.delete > > Rs.close > > The row is not deleted. Of course because in the log file, I find > > Sql = “Delete from user where u_num=1 and u_comm=‘hello world > > all is fine.’” > > > > I have found how to do : > > Sql = “select u_num from user where u_num=1” > > Set rs = odbc_cnx.OpenResultset( sql, rdOpenKeyset, > rdConcurRowver ) > > Rs.Edit > > Rs.delete > > Rs.close > > And now it is ok since in the log file, I find > > Sql = “Delete from user where u_num=1” > > > > But I have the same problem with update : > > Sql = “select u_num, u_comm from user where u_num=1” > > Set rs = odbc_cnx.OpenResultset( sql, rdOpenKeyset, > rdConcurRowver ) > > Rs.Edit > > Rs(“u_comm”).value = “bonjour” > > Rs.update > > Rs.close > > In the log file, I find > > Sql = “Update from user set u_comm=’bonjour’ where u_num=1 > and u_comm=‘hello world > > all is fine.’” > > Is there anything to do to obtain from the driver something like : > > Sql = “Update from user set u_comm=’bonjour’ where u_num=1” > > Since we don’t need the second clause. > > > > Thank you very much if you have a solution. > > > > Hélène FESTOC > > Kalitech - 01 69 41 97 54 Your must set an index on u_num.