学习Matlab的GUI时,参考教学:https://www.ilovematlab.cn/forum.php?mod=viewthread&tid=27870&page=1&authorid=2
修改学生成绩那部分报错
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
String=get(handles.listbox1,'string');
Select=get(handles.listbox1,'value');
Name_Str=cell2mat(String(Select));
SQL=['select * from stu where 姓名=''',Name_Str,''''];
%
conna=database('SampleDB','','');
curs=exec(conna,SQL);
curs=fetch(curs);
data=curs.Data;
close(curs)
close(conna)
%
dlgTitle='修改学生相关信息';
lineNo=1;
prompt={'姓名','学号','学科1','学科2','学科3','学科4','学科5','学科6','学科7','学科8'};
for i=1:length(data)
if i~=1
temp=num2str(cell2mat(data(i)));
def(i)={temp};
else
def(i)=data(i);
end
end
answer=inputdlg(prompt,dlgTitle,lineNo,def);
%
tab='stu';
colnam=prompt(3:end);
newdata=answer(3:end);
conna=database('SampleDB','','');
for i=1:length(colnam)
update(conna,'stu',colnam(i),newdata(i),['where 姓名=''',Name_Str,''''])
end
close(conna)
错误使用 database.odbc.connection/update (line 301)
ODBC Driver Error: [Microsoft][ODBC Microsoft Access Driver]COUNT 字段不正确
出错 matlab_database>pushbutton4_Callback (line 227)
update(conna,'stu',colnam(i),newdata(i),['where 姓名=''',Name_Str,''''])
请大家,帮忙解答一下,万分感谢!
你可以这样检查一下:
1、查看数据库是否已经创建数据表,数据表的字段和你的代码的字段是否一致
2、将你执行数据表操作的代码转为SQL语句,然后放在数据库里面单独执行试试能否成功