Compare value to cell in database

HI ..
Id and password are int data type in database
I want to check if the id and password entered by user are in database.
Code:
a = get(handles.Id,'String');
b = get(handles.password,'String');
conn = database.ODBCConnection('users','root','root');
x = exec(conn,'select ID from Admin');
y = exec(conn,'select Password from Admin');
x = fetch(x);
y = fetch(y);
x1 = x.Data
y1 = y.Data
L1 = strcmp(a,x1)
L2= strcmp(b,x1)
if L1 == 1 && L2 == 1
track
else
msgbox('Rong ID or Password ! ');
end
I trired to convert x1 and y1 to string
x2 = num2str(x1);
I get this error:
Input to num2str must be numeric.
I know that x1 is cell but I don't know how can I do it !
Can you please help me?

 Accepted Answer

Except for SQLite, it is possible to configure the database as to what datatype is to be returned by fetch (SQLite always returns the same datatype, and that is not the same datatype as the default for other databases.)
I suspect that if you check class(x1) that you will find that it is a 1 x 1 cell array containing a numeric value. Another possibility is that it might be a struct containing the field 'ID' .

3 Comments

Thank you.
You are right:
x1 =
cell
[1234]
y1 =
cell
[12345]
Using curly brackets, x1{1} will give you the numeric value inside the cell :)
Thank you :)

Sign in to comment.

More Answers (0)

Asked:

Han
on 11 Mar 2018

Commented:

Han
on 12 Mar 2018

Community Treasure Hunt

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

Start Hunting!