[英]Index exceeds matrix dimensions error in matlab database
我有一個名為'data'的數據庫,在gui中,我有3個editbox,分別是name,gpa,salary和一個按鈕。 在數據庫中有這樣的數據:
field= {'name','gpa','salary'}
newdata = {'Andre',3.2,$1000}
我的程序是這樣的:
conn = database('db1_mysql','root','');
sql = ['select * from data where name =','''',handles.name,''''];
data = fetch(conn,sql)
handles.data = data;
guidata(hObject,handles)
if isempty(data)
msgbox('data not found')
set(handles.gpa,'String','')
set(handles.salary,'String','')
else
set(handles.gpa,'String',data(1,2))
set(handles.salary,'String',data(1,3))
end
我想要的是,如果我在gui的名稱編輯框中鍵入Andre,他的gpa和薪水會顯示在其他編輯框中。 但我遇到錯誤:索引超出矩陣尺寸。 我的數據庫有1行和3列。 怎么不行 我正在使用Matlab R2016a
在您的情況下, fetch
的結果將是一個結構,因此要訪問各個元素,您需要使用點引用而不是()
索引。
set(handles.gpa, 'String', data.gpa)
set(handles.salary, 'String', data.salary)
如果要顯示整數的工資,可以使用num2str
進行轉換
set(handles.salary, 'String', num2str(data.salary, '%d'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.