如何通过matlab gui自动将值插入sql数据库?

时间:2014-07-19 06:54:12

标签: sql-server matlab user-interface editbox

我们在Matlab中创建了一个注册表单,其中包含名称,年龄等字段。此外,我们还使用Sql Server(ODBC)创建了一个数据库。现在我们可以读取TextBox值并通过get属性在命令窗口中显示它(它在按钮回调中)。我们必须在已经创建的数据库中插入该文本框值我们使用fastinsert comMand。但它只是将值manualLy(使用查询)添加到其中,但我们想通过文本框添加它。我们在按钮回调中的代码就在这里。

conn = database('Addface_DSN','sa','123 ');

if(isempty(conn.message))

     disp('database connected')

 else
     disp('cannot connected')

     disp(conn.message);

     return
end

setdbprefs('DataReturnFormat','numeric')

exdata = {'2','Shalu','22','female'};

fastinsert(conn, 'Faces_Details', {'Id' 'Name' 'Age' 'Gender' },exdata)

commit(conn)

close(conn);

name = get(handles.edit1, 'string'); % we dont want this, But just add to chek. we want this name in database.

disp(name)

age = get(handles.edit2, 'string'); 

disp(age)

1 个答案:

答案 0 :(得分:0)

请尝试此解决方案大多数解决方案仅限您的代码

conn = database('Addface_DSN','sa','123 ');

if(isempty(conn.message))

     disp('database connected')

 else
     disp('cannot connected')

     disp(conn.message);

     return
end

setdbprefs('DataReturnFormat','numeric')

// Here is the difference

// Taking test_age as 'int' 
test_name=get(handles.edit1, 'string'); 
test_age= get(handles.edit2, 'string');
//Convert to int and then insert
test_age=str2num(test_age);
exdata2={'3',test_name,test_age,'Male'};

exdata = {'2','Shalu','22','female'};

//Here you insert the data.
fastinsert(conn, 'Faces_Details', {'Id' 'Name' 'Age' 'Gender' },exdata2)

commit(conn)

close(conn);

name = get(handles.edit1, 'string'); % we dont want this, But just add to chek. we want   this name in database.

disp(name)

age = get(handles.edit2, 'string'); 

disp(age)