看这个是哪错了??急老是报错 错误在下面显示

时间:2022-06-17 17:10:48
//添加数居
string sex
integer id=integer(sle_id.text)
string name=sle_name.text
if rb_man.checked=true then
 sex='男'
end if
 if rb_woman.checked=true then
 sex='女'
end if 
integer card=integer(sle_card.text);
integer num=integer( sle_num.text);
string position=ddlb_position.text;
string username=sle_loginname.text;
date injob=date( dp_injob.text);
string pass=sle_password.text;
integer dep=integer(ddlb_dep.text);
string email=sle_email.text;
string createname=loginname;
integer phone=integer( sle_phone.text);
integer state=integer(sle_state.text);
 integer p_type=integer(ddlb_type.text);
 date outjob= date(dp_outjob.text);
  INSERT INTO "person"  
         ( "per_id",   
           "per_name",   
          "per_sex",   
           "per_card",   
           "per_number",   
           "per_position",   
           "per_username",   
           "per_injob",   
           "per_password",   
           "per_department",   
           "per_eamil",   
           "per_createname",   
           "per_phone",   
           "per_state",   
           "per_type",   
           "per_outjob" )  
  VALUES ( :id,   
           :name,   
           :sex,   
           :card,   
          :num,   
          :position,   
          :username,   
           :injob,   
          :pass,   
          :dep,   
          :email,   
          :createname,   
         :phone,   
           :state,   
           :p_type,   
           :outjob )  ;
  commit using sqlca;
错误提示是这个  invalid variable declaration initialization  到底是哪错了 很不解 谢谢大家

13 个解决方案

#1


//帮你改进了代码,测试没有问题,都可以插入数据
integer id ,dep, phone,state,p_type,num
string card,name ,sex,position,username,pass,email,createname
date  outjob,injob

card='test'
name='test'
position='test'
username='test'
pass='test'
email='test'
createname='test'

id =0
dep=0
phone=0
state=0
p_type=0
num=0

outjob=date(today())
injob=date(today()) 

if rb_man.checked    then
   sex='男'
else
   sex='女'
end if   
//插入参数与字段一个不少,一一对应
insert into  person   VALUES ( :id, 
  :name,
  :sex, 
  :card,
  :num,
  :position,   
  :username,   
  :injob,   
  :pass,   
  :dep,   
  :email,   
  :createname,   
  :phone,   
  :state,   
  :p_type,   
  :outjob ) ;
commit;

#2


哪一行报错?

#3


1 loginname 变量是否声明过?
2 声明变量,赋值最好不要安你做那种用下边这种
sting ls_name,ls_sex,ls_position
integer li_id
li_id = integer(sle_id.text)
ls_name = sle_1.text
ls_position = ddlb_position.text;
3 单选按钮判断是否选中,可以直接用
if rb_man.checked then 
   //
end if 
4 对数据库操作过后,最好判断sqlca.sqlcode的值,来检查跟数据库交互是否有错误发生,如果没有错误发生commit,否则rollback.

#4


 dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢

#5


引用 4 楼  的回复:
dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢


dep=integer(ddlb_dep.FindItem(CurrentTreeItem! , 0));

#6


引用 5 楼  的回复:
引用 4 楼 的回复:
dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢


dep=integer(ddlb_dep.FindItem(CurrentTreeItem! , 0));


不对啊 报错说没有定义finditem啊 

#7


引用 5 楼  的回复:
引用 4 楼 的回复:
dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢


dep=integer(ddlb_dep.FindItem(CurrentTreeItem! , 0));

我这是下拉列表框

#8


PB中下拉列表框怎么取到他的索引呢 谢谢

#9


dep=integer(ddlb_dep.SelectItem ( item, 1)
引用 8 楼  的回复:
PB中下拉列表框怎么取到他的索引呢 谢谢

#10


查看帮助 SelectItem函数

#11


该回复于2012-04-27 15:08:45被版主删除

#12


该回复于2012-04-27 15:08:54被版主删除

#13


日期型的变量,改成如“2012-05-01 00:00:00”的格式代替试一试

#1


//帮你改进了代码,测试没有问题,都可以插入数据
integer id ,dep, phone,state,p_type,num
string card,name ,sex,position,username,pass,email,createname
date  outjob,injob

card='test'
name='test'
position='test'
username='test'
pass='test'
email='test'
createname='test'

id =0
dep=0
phone=0
state=0
p_type=0
num=0

outjob=date(today())
injob=date(today()) 

if rb_man.checked    then
   sex='男'
else
   sex='女'
end if   
//插入参数与字段一个不少,一一对应
insert into  person   VALUES ( :id, 
  :name,
  :sex, 
  :card,
  :num,
  :position,   
  :username,   
  :injob,   
  :pass,   
  :dep,   
  :email,   
  :createname,   
  :phone,   
  :state,   
  :p_type,   
  :outjob ) ;
commit;

#2


哪一行报错?

#3


1 loginname 变量是否声明过?
2 声明变量,赋值最好不要安你做那种用下边这种
sting ls_name,ls_sex,ls_position
integer li_id
li_id = integer(sle_id.text)
ls_name = sle_1.text
ls_position = ddlb_position.text;
3 单选按钮判断是否选中,可以直接用
if rb_man.checked then 
   //
end if 
4 对数据库操作过后,最好判断sqlca.sqlcode的值,来检查跟数据库交互是否有错误发生,如果没有错误发生commit,否则rollback.

#4


 dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢

#5


引用 4 楼  的回复:
dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢


dep=integer(ddlb_dep.FindItem(CurrentTreeItem! , 0));

#6


引用 5 楼  的回复:
引用 4 楼 的回复:
dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢


dep=integer(ddlb_dep.FindItem(CurrentTreeItem! , 0));


不对啊 报错说没有定义finditem啊 

#7


引用 5 楼  的回复:
引用 4 楼 的回复:
dep=integer(ddlb_dep.selectedIndex());
我想取到那个索引 怎么报错呢


dep=integer(ddlb_dep.FindItem(CurrentTreeItem! , 0));

我这是下拉列表框

#8


PB中下拉列表框怎么取到他的索引呢 谢谢

#9


dep=integer(ddlb_dep.SelectItem ( item, 1)
引用 8 楼  的回复:
PB中下拉列表框怎么取到他的索引呢 谢谢

#10


查看帮助 SelectItem函数

#11


该回复于2012-04-27 15:08:45被版主删除

#12


该回复于2012-04-27 15:08:54被版主删除

#13


日期型的变量,改成如“2012-05-01 00:00:00”的格式代替试一试