簡體   English   中英

索引超過Matlab數據庫中的矩陣尺寸錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM