在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)
% 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)