为什么我通过odbc连接access时,无法插入一条新记录,但可以删除记录,

我通过odbc连接access时,无法插入一条新记录,但可以删除记录,
还有对已存在的记录无法编辑,我在grid模式下也已将字段都设为允许修改了,可是就是无法编辑,
不知道是否在建access表时还要注意些什么,或是连odbc时注意些什么,不知道哪位大哥可否帮小弟解决一下,谢谢了,
[153 byte] By [myant-了其] at [2008-2-18]
# 1
access表没有主键,不能在PB里编辑,你可以直接用SQL来添加删除记录
qianfl-毛毛熊 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 2
我有用sql语句直插入一条记录可出错提示,datawindow没有update()事件,很奇怪,
但我用oracle通过odbc连上去就可以直接编辑了,
我本来是用sybase做后台库的,又怕客户那odbc里没有sybase驱动程序,到时还要到客户那一个个去安装那就麻烦了,而access的驱动每台机都有,
能够诉我用access应该怎么做才可以直接编辑吗?谢谢了,
myant-了其 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 3
还不如带个pb自己给的sql anywhere的db库,连接起来一点问题都没有
# 4
to: li_d_s(我是小鬼)
我有用pb自带的呀,sql anywhere,但用户那边没有sql anywhere驱动那怎么办要去一个个安装吗?
myant-了其 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 5
装sql anywhere的驱动很简单的啊,你看看注册表的设置,就是几个dll而已,然后配置odbc多简单啊
# 6
是无法编辑还是不能保存呀?
tab order 设置了吗?
access主键是自增长的不要对编号update
songzj8-海风 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 7
to:li_d_s(我是小鬼)
问题是用户太多了,而且用户也不知道如何去做,您的意思是我要在用户那边安pb是吗?如果是这样那跟本不可能,有400多外用户,
to: songzj8(海风)
在哪设:tab order
为什么在pb环境下建的access表的字段不能为no,而只能是Yes,这样一来就没为法设主键了,

救救啊!!!!
myant-了其 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 8
在数据窗口 format 菜单下设置tab order
如果tab order为0就不能获得焦点
songzj8-海风 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 9
那就在access里创建表了
songzj8-海风 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 10
你可以在程序中加入配置dll的代码段的,主要的操作就是写注册表,很容易,网上有很多例子的
# 11
错了,在程序中动态配置odbc的代码段
# 12
你用PB多少呀,PB70以下连Access有问题哦。
saince-搜猫 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 13
pb65可以连,但是要打补丁的
# 14
谢谢你:songzj8(海风)是没有设 tab order
我用的是pb9.0啊,我现在可以插入也可以修改了,数据库可以连上了,可是我提交记录的时候又出问题了,
我是这么写的,
插入:
dw_1.insertrow(0);
dw_1.setfocus();
保存:
if dw_1.update()=1 then
commit;
end if
提示出错:
datawindow does not have update capability
这是什么意思啊,是说datawindow 没有update事件吗>>只差一步了,各位朋友帮帮我>!!谢谢了,
myant-了其 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 15
数据窗口的属性里面设置update,试一试
lzuyh-天气预报 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 16
你看看datawindow的update properties。。。
# 17
肯定没有选择allow updates这项
# 18
我通过odbc连接access时,无法插入一条新记录,但可以删除记录,
还有对已存在的记录无法编辑,我在grid模式下也已将字段都设为允许修改了,可是就是无法编辑,
不知道是否在建access表时还要注意些什么,或是连odbc时注意些什么,

我的datawindows的tab order不为0,我用的是pb9.0,我看过一些帖子,没有找到datawindow的allow updates属性,请指教
huxiaoyong1983-小小 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 19
打开数据窗口,在上面的rows菜单里有。
# 20
表中要有主键才可以。用ACCEss加上就可以了。
加完了主键,要在菜单的rows,update properties...中设置一下就可以了。
dahaidao-dahaidao at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 21
楼主的问题,我昨天在编程的时候也发生了,我用的是嵌入式SQL。
能够检索、删除却不能进行插入操作,表也设置了PK,但总是出现如下错误代码:
SQLSTATE=07001
[Microsoft][ODBC Microsoft access driver]参数不足,期待是2。
请高人一同指点。谢谢!!
Xeric2003 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 22
打开数据窗口
选择rows下的Update ProPerties
然后勾上Allow Updates
把要更新的字段选中。
xyqiqi-琪琪 at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...
# 23
无权限吧
hygougou-uoguogyh at 2007-10-16 > top of Msdn China Tech,PowerBuilder,基础类...