您的位置:程序门 -> db2 -> 数据库开发



数据问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


数据问题
发表于:2007-05-10 15:55:41 楼主
提示错误代码如下:
project   autoexpress.exe   raised   exception   class   edbengineerror   with   message   'generan   sql   error.
[ibm][cli   driver][db2/6000]sql401n       运算“=”的操作数的数据类型不兼容。
sqlstate=42818 '.process   stopped.use   step   or   run   to   continue.

如下就是保存按扭的程序,__worktype为1时候是新建交易时候的保存,没问题;__worktype为2时是编辑交易时候的保存,问题就出在编辑交易时候的保存程序段上。表中的左右字段都是   char   型的。请高人指教,谢谢!
                                                                //   0   :   none
                                                                //   1   :   new   a   record
                                                                //   2   :   edit   a   record
                                                                //   3   :   delete
                                                                //   4   :   normal   exit
                                                                //   init   database

                //   def   var
                char   _chr= '/ ',*ptr;
                string   tmpstring;
                char   *trans_str;

                //   test   and   creat   database   linking
                if(db_connect()   ==   0)
                {
                        tquery   *_query   =   new   tquery(this);
                        application-> processmessages();
                        _query-> databasename   =   ovr_aliasname;
                        //   before   working,   close   database
                        _query-> close();
                        _query-> requestlive   =   true;
                        try{
                                //   while   user   append   a   new   record
                                if(   __worktype   ==   1   )
                                {
                                        _query-> sql-> clear();
                                        //   open   dbtable     /   表
                                        _query-> sql-> add( "   select   *   from   t_pb_atom_tran   ");
                                        _query-> open();
                                        _query-> first();
                                        _query-> append();
                                        _query-> edit();
                                        //   区域号   /   areano char(6)
                                        _query-> fieldbyname( "areano ")-> asstring   =   label429-> caption;
                                        //     原子交易码 atomtrancode char(5)
                                        _query-> fieldbyname( "atomtrancode ")-> asstring   =   edit52-> text;
                                        //     原子交易名称 atomtranname char(40)
                                        _query-> fieldbyname( "atomtranname ")-> asstring   =   edit53-> text;
                                        //   控制流代码 streamcode char(2)
                                        //_query-> fieldbyname( "streamcode ")-> asstring   =   edit53-> text;
                                        tmpstring   =   combobox23-> text;
                                        ptr=strchr(tmpstring.c_str(),   _chr);
                                        if   (ptr)
                                        {
                                                trans_str   =   (char   *)(ptr+1);
                                        }
                                        _query-> fieldbyname( "streamcode ")-> asstring   =   trans_str;
                                        //   函数名 funcname char(40)
                                        _query-> fieldbyname( "funcname ")-> asstring   =   edit54-> text;
                                        //   原子交易说明 atomtranexpl varchar(80)
                                        _query-> fieldbyname( "atomtranexpl ")-> asstring   =   edit55-> text;
                                        //   原子交易状态 atomtranstatus char(1)
                                        //   0-不可用1-可用
                                        if(   radiobutton20-> checked   ==   true   )
                                                _query-> fieldbyname( "atomtranstatus ")-> asstring   =   "1 ";
                                        if(   radiobutton21-> checked   ==   true   )
                                                _query-> fieldbyname( "atomtranstatus ")-> asstring   =   "0 ";
                                        //   参数类型 paramtype char(2)
                                        _query-> fieldbyname( "paramtype ")-> asstring   =   edit51-> text;
                                        //   文件名 filename
                                        _query-> fieldbyname( "filename ")-> asstring   =   edit59-> text;
                                        //   库名 libname
                                        _query-> fieldbyname( "libname ")-> asstring   =   edit60-> text;
                                        //   建柜员 createtlr char(6)
                                        _query-> fieldbyname( "createtlr ")-> asstring   =   edit57-> text;
                                        //   创建日期 createdate char(8)
                                        _query-> fieldbyname( "createdate ")-> asstring   =   edit58-> text;
                                        //   after   gave   all   value,   save   them
                                          _query-> post();
                                          _query-> close();

                                }
                                //   while   user   edit   a   record
                                if(   __worktype   ==   2   )
                                {
                                        //   move   the   point   to   current   record
                                        _query-> sql-> clear();
                                        //   open   dbtable     /   表
                                        _query-> sql-> add( "   select   *   from   t_pb_atom_tran   ");
                                        if   (checkbox1-> checked   ==   true)
                                        {
                                                _query-> sql-> add(   "   where   areano   =   "
                                                                                +   label429-> caption
                                                                                +   "   and   atomtrancode   =   "
                                                                                +   statictext1-> caption
                                                                                +   "   and   streamcode   =   "
                                                                                +   statictext2-> caption);
                                        }else{
                                                _query-> sql-> add(   "   where   areano   =   "
                                                                                +   label429-> caption
                                                                                +   "   and   atomtrancode   =   "
                                                                                +   statictext1-> caption
                                                                                +   "   and   streamcode   =   "
                                                                                +   statictext2-> caption);
                                        }
                                        _query-> open();

                                        if(_query-> recordcount   ==   1)
                                        {
                                                _query-> edit();
                                                //     原子交易码 atomtrancode char(5)
                                                //   _query-> fieldbyname( "atomtrancode ")-> asstring   =   edit52-> text;
                                                  _query-> fieldbyname( "atomtrancode ")-> asstring   =   edit52-> text;
                                                //     原子交易名称 atomtranname char(40)
                                                _query-> fieldbyname( "atomtranname ")-> asstring   =   edit53-> text;
                                                //   控制流代码 streamcode char(2)
                                                tmpstring   =   combobox23-> text;
                                                ptr=strchr(tmpstring.c_str(),   _chr);
                                                /*if   (ptr)
                                                {
                                                        trans_str   =   (char   *)(ptr+1);
                                                }
                                                _query-> fieldbyname( "streamcode ")-> asstring   =   trans_str;
                                                //   函数名 funcname char(40)
                                                _query-> fieldbyname( "funcname ")-> asstring   =   edit54-> text;
                                                //   原子交易说明 atomtranexpl varchar(80)
                                                _query-> fieldbyname( "atomtranexpl ")-> asstring   =   edit55-> text;
                                                //   原子交易状态 atomtranstatus char(1)
                                                //   0-不可用1-可用
                                                if(   radiobutton20-> checked   ==   true   )
                                                        _query-> fieldbyname( "atomtranstatus ")-> asstring   =   "1 ";
                                                if(   radiobutton21-> checked   ==   true   )
                                                        _query-> fieldbyname( "atomtranstatus ")-> asstring   =   "0 ";
                                                //   参数类型 paramtype char(2)
                                                _query-> fieldbyname( "paramtype ")-> asstring   =   edit51-> text;
                                                //   文件名 filename
                                                _query-> fieldbyname( "filename ")-> asstring   =   edit59-> text;
                                                //   库名 libname
                                                _query-> fieldbyname( "libname ")-> asstring   =   edit60-> text;
                                                */
                                                //   after   gave   all   value,   save   them
                                                _query-> post();
                                                _query-> close();
                                        }
                                }

                        }
                        __finally
                        {
                                _query-> close();
                                delete   _query;
                        }
                }

                //after   saved   all   data,   flash   the   list
                //   current   table   is   "原子交易 "
                notebook1-> activepage   =   "page4 ";
                //   current   table   is   "原子交易 "

                //   condition   :   控制流代码 streamcode
                current_table   =   "t_pb_atom_tran ";
                p_comm_listview_bysome( "t_pb_atom_tran ",ansistring(label23-> caption), "streamcode ",
                                                              "atomtranname ",   "atomtrancode ");
                operationtype   =   2;

发表于:2007-07-03 09:13:351楼 得分:0
该回复于2007-12-29 16:24:29被管理员或版主删除


快速检索

最新资讯
热门点击