How matlab display data from database in gui edit box

Hi everyone, i programing license plate recognition programs, and appeared problem. So after few examples i figure out my code.
function pushbutton1_Callback(hObject, eventdata, handles)
conn = database('baze', 'root', 'root', 'Vendor', 'MYSQL', 'Server', 'localhost', 'PortNumber', 3306);
setdbprefs('datareturnformat','structure');
a = get(handles.edit8,'String');
if iscell(a) && numel(a) == 1
a = a{1};
end
if ~ischar(a) || isempty(a);
error('A valid string must be supplied!');
end
sqlquery = ['select vardas, pavarde, laipsnis, pareigos, telefonas, marke, numeris, tarnyba from info '...
'where numeris = ' '''' a ''''];
curs = exec(conn, sqlquery);
curs = fetch(curs);
curs.data
close(curs)
close(conn)
All this i got in Matlab command window, but if i have gui aplication and i want retrive value in gui wich have edit text box. Example: after i input car plate number - got 'vardas' in edit1 and 'pavarde' in edit2. Thanks in advance for the answers.

 采纳的回答

Gytis - if you want to retrieve the text from your edit1 and edit2 controls, then in the above pushbutton callback you would use the handles structure to get the values for these controls:
edit1Text = get(handles.edit1,'String');
edit2Text = get(handles.edit2,'String');
You can then use the above two local variables however you wish. Is this the solution that you are looking for?

8 个评论

No sir i want to get text in my edit1 and edit2, as example sqlquery have vardas, and i want retrive answer in edit1. As you see "a" is equal edit8 this is car plate number, i write car plate number and after pushbutton callback i want retrive information in edit1 car driver name . I hope you understand what i want to say.
Gytis - then use set to set the text of your edit1 and edit2 controls. For example, you could do
myString = 'Some text';
set(handles.edit2, 'String', myString);
don't work then in 'Some text' i write 'vardas' from sqlquery, got error undefined variable 'vardas'
Doesn't curs.data have the data that you have requested? You will need to extract the vardas data from here and then use that in your set.
hm... so how i can extract 'vardas' from sqlquery?
um...if curs.Data is a cell array with a single row and assuming that your query returns exactly one record, then I suspect that vardas would be the first field since it is the first element in your select statement. Maybe it would be
curs.Data{1}
I say maybe since I don't have the Database Toolbox and so can't verify. But the examples from fetch seem to suggest this.
no it's not working error like Error using subsref Cell contents reference from a non-cell array object.
solve added code
curs = exec(conn, sqlquery);
setdbprefs('DataReturnFormat','cellarray');
curs = fetch(curs);
vardas = curs.data(1,1);

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by