note legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision :$" class RUNNER inherit ACTION redefine execute end RDB_HANDLE GLOBAL_SETTINGS LOCALIZED_PRINTER create make feature {NONE} base_selection: DB_SELECTION proc: detachable DB_PROC repository: detachable DB_REPOSITORY session_control: DB_CONTROL data_file: detachable PLAIN_TEXT_FILE book: BOOK3 feature {NONE} -- Creation make local tmp_string: STRING l_laststring: detachable STRING l_repository: like repository do -- Use extended types, so that Unicode is supported. set_use_extended_types (True) io.putstring ("Database user authentication:%N") if db_spec.database_handle_name.is_case_insensitive_equal ("odbc") then io.putstring ("Data Source Name: ") io.readline l_laststring := io.laststring check l_laststring /= Void end -- implied by `readline' set_data_source(l_laststring.twin) end io.putstring ("Name: ") io.readline l_laststring := io.laststring check l_laststring /= Void end -- implied by `readline' tmp_string := l_laststring.twin io.putstring ("Password: ") io.readline l_laststring := io.laststring check l_laststring /= Void end -- implied by `readline' login (tmp_string, l_laststring) set_base create session_control.make create base_selection.make create book.make session_control.connect if not session_control.is_connected then session_control.raise_error io.putstring ("Can't connect to database.%N") else create l_repository.make (Table_name) repository := l_repository l_repository.load if l_repository.exists then make_selection session_control.commit session_control.disconnect else io.putstring ("Table not found!"); end end end feature {NONE} make_selection local title: STRING_32 price: REAL pub_date: DATE_TIME l_proc: like proc do create title.make (10) price := 51 create pub_date.make (1984, 01, 01, 00, 00, 00) create l_proc.make (Proc_name) proc := l_proc l_proc.load l_proc.set_arguments_32 ({ARRAY [STRING_32]} <<"title", "price", "pub_date">>, <