我们在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)
答案 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)