在gui matlab中向编辑框显示数据库数据时引用不存在的字段错误

Reference to non-existent field error when showing database data to editbox in gui matlab

% Begin initialization code - DO NOT EDIT

        gui_Singleton = 1;
        gui_State = struct('gui_Name',       mfilename, ...
                           'gui_Singleton',  gui_Singleton, ...
                           'gui_OpeningFcn', @skripsi_OpeningFcn, ...
                           'gui_OutputFcn',  @skripsi_OutputFcn, ...
                           'gui_LayoutFcn',  [] , ...
                           'gui_Callback',   []);
        if nargin && ischar(varargin{1})
            gui_State.gui_Callback = str2func(varargin{1});
        end

    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end

% End initialization code - DO NOT EDIT


% --- Executes just before skripsi is made visible.
function skripsi_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to skripsi (see VARARGIN)

% Choose default command line output for skripsi

    handles.output = hObject;

% Update handles structure

    guidata(hObject, handles);

% UIWAIT makes skripsi wait for user response (see UIRESUME)
% uiwait(handles.figure1);

    conmysql = database('skripsi_mysql','root','')
    fetch(conmysql,'select * from data')

% --- Outputs from this function are returned to the command line.
function varargout = skripsi_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

    varargout{1} = handles.output;



function code_Callback(hObject, eventdata, handles)
% hObject    handle to code (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of code as text
%        str2double(get(hObject,'String')) returns contents of code as a double

    code = get(hObject,'String')
    handles.code = code
    guidata(hObject,handles)

% --- Executes during object creation, after setting all properties.
function code_CreateFcn(hObject, eventdata, handles)
% hObject    handle to code (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.

    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end



function in_Callback(hObject, eventdata, handles)
% hObject    handle to in (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of in as text
%        str2double(get(hObject,'String')) returns contents of in as a double

    in = get(hObject,'String')
    handles.in = in
    guidata(hObject,handles)

% --- Executes during object creation, after setting all properties.
function in_CreateFcn(hObject, eventdata, handles)
% hObject    handle to in (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.

    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end


function out_Callback(hObject, eventdata, handles)
% hObject    handle to out (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of out as text
%        str2double(get(hObject,'String')) returns contents of out as a double

    out = get(hObject,'String')
    handles.out = out
    guidata(hObject,handles)

% --- Executes during object creation, after setting all properties.
function out_CreateFcn(hObject, eventdata, handles)
% hObject    handle to out (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.

    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end



function fee_Callback(hObject, eventdata, handles)
% hObject    handle to fee (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of fee as text
%        str2double(get(hObject,'String')) returns contents of fee as a double

    fee = str2double(get(hObject,'String'))
    handles.fee = fee
    guidata(hObject,handles)

% --- Executes during object creation, after setting all properties.
function fee_CreateFcn(hObject, eventdata, handles)
% hObject    handle to fee (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.

    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end


% --- Executes on button press in masuk.
function masuk_Callback(hObject, eventdata, handles)
% hObject    handle to masuk (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

    a = 'QWERTY';
    t = datestr(datenum(now),'HH:MM');
    conmysql = database('skripsi_mysql','root','')
    field = {'Code','In','Out','Fee'}
    databaru = {a,t,'',}
    insert(conmysql,'data',field,databaru)
    data = fetch(conmysql,'select * from data') 


% --- Executes on button press in camera.
function camera_Callback(hObject, eventdata, handles)
% hObject    handle to camera (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% --- Executes on button press in keluar.
function keluar_Callback(hObject, eventdata, handles)
% hObject    handle to keluar (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

    conmysql = database('skripsi_mysql','root','')
    sql = ['select * from data where PlatNomor =','''',handles.code,''''];
    fetch(conmysql,'select *from data');
    data = fetch(conmysql,sql)
    data.In
    t1 = datestr(datenum(now),'HH:MM');
    t2 = datenum(t1);
    t3 = datenum(data.in);
    time_diff = t3 - t2;
    hours = ceil(time_diff * 24)
    fee = hours * 5;
    field = {'JamKeluar','Biaya'};
    databaru = {t1,2000};
    tablename = 'data';
    whereclause = ['where PlatNomor =','''',handles.code,''''];
    update(conmysql,tablename,field,databaru,whereclause);
    set(handles.in,'String',data.in)
    set(handles.out,'String',data.out)
    set(handles.fee,'String',data.fee)

同样的错误两次,这就是它不起作用的原因:

t3 = datenum(data.In);

替换t3 = datenum(data.in);

set(handles.in,'String',data.in) 替换为 set(handles.in,'String',data.In)