MATLAB: I have to count the number of occurrences of a record (x) in a Table “Stocks” from a database “MultiProductInventory”

databasesql

I have to count the number of occurrences of a record (x) in a Table "Stocks" from a database "MultiProductInventory". The database table consists of 9 fields , the first field is the PI (Product Id) and the other fields are F1,F2,…,F8. The arguments for field variables Pi,F1,F2,..,F8 are supplied at run time from an array (x). I ran the following code. The MATLAB is giving error message, "Invalid or closed connection" and " Undefined function or method "fetch" for input argumnts of type struct. can any body explain me where is the mistake in the code.
function [ Pocc ] = Multiprodinv1(x)
dbpath = ['C:\ Users\admin\Documents\MultiProductInventory'];
url = [ [ 'jdbc:odbc:Driver = {Microsoft Access Driver(*.mdb,*.accdb)};DSN =' ';DBQ ='] dbpath];
conn = database('MultiProductInventory','','','Sun.jdbc.odbc.JdbcOdbcDriver',url);
query1 = ['select all ID from Stocks where PI=',num2str(x(1))];
query2=[''];
for fidx=1:8
query2 = strcat(query2,sprintf('and F%d=',fidx),num2str(x(fidx+1)));
end
query = strcat(query1,query2);
curs=exec(conn,['query']);
curs.Message
curs=fetch(curs);
y= curs.Data;
Pocc=length(y);

Best Answer

Looks like your database command is not finding the driver. It's difficult to give specific advice on this. I would suggest looking at the following: