Reference to non-existent field error when showing database data to editbox in gui matlab
1 次查看(过去 30 天)
显示 更早的评论
Im getting error when showing database to gui . i do some bill parking program.
field = {'Code','Come in','Come out','Fee'}
exdata = {'ABCD','03:00','04:00',10}
firstly, my program do is hit pushbutton1 to insert database to field 'Code' and 'Come in'. secondly, hit pushbutton2 to update database field 'Come out',and 'Fee' and show all data to gui from Code i type to Code editbox .
My code :
conmysql = database('skripsi_mysql','root','')
sql = ['select * from data where Code =','''',handles.code,''''];
fetch(conmysql,'select *from data')
data = fetch(conmysql,sql);
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 = {'Come In','Fee'};
databaru = {t1,fee};
tablename = 'data';
whereclause = ['where Code =','''',handles.code,''''];
update(conmysql,tablename,field,databaru,whereclause);
fetch(conmysql,sql);
set(handles.in,'String',data.in)
set(handles.out,'String',data.out)
set(handles.fee,'String',data.fee)
and i got error like this :
Reference to non-existent field 'in'.
Error in skripsi>out_Callback (line 208)
t3 = datenum(data.in);
Have you any suggestion for this problem sir ? Thank a lot before.
0 个评论
回答(1 个)
Brendan Hamm
2016-9-14
You have no field called 'in' contained in the data cursor returned by fetch. You probably want to look into the 'Data' property of cursor as this is where the fetched data is stored.
returnedData = data.Data
I would highly recommend entering into debug more on the lines where you can not figure out what is happening.
2 个评论
Brendan Hamm
2016-9-14
Your variable data is a cursor object and you cannot add new properties to it.
conmysql = database('skripsi_mysql','root','')
sql = ['select * from data where Code =','''',handles.code,''''];
data = fetch(conmysql,sql);
When you do this the variable data is a cursor, regardless of the query or anything else. A cursor has very specific Properties and one of these is the 'Data' property.
returnedData = data.Data % Here is where the queried data is stored.
But, you try and index into it using
data.in
this happens on the line:
t3 = datenum(data.in);
and you get an error. I suggest you take a look in the debugger (using the link I provide above) as I cannot tell you what the result of your query is, I can only tell you why this error is occurring and where to look to correct it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Database Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!