万分火急求助数字字符和字符串的转化问题,具体代码见下
我在建立数据库时定义sno为文本形式,我想在我的程序中利用下面一段代码。可下面一段代码中的sno在数据库中定义为int 型。我将代码复制贴到我的程序里。出现了一些类型不想配的错误。具体错误是由我划波乱线的两处语句引起的。我不想将我的数据库中的sno 改为int型,请问怎样修改这段代码才能使它能在我的程序中重用。谢谢!
//功能:弹出修改记录窗口
void CStudentDlg::OnRadioMod()
{
// TODO: Add your control notification handler code here
m_database.Close();//本对话框断开与数据库的连接
CModStudentDlg dlg;
dlg.m_database.Open(_T("xuesheng"));
int i=m_ctrlstudent.GetSelectionMark();
CString strSQL;
int id=atoi(m_ctrlstudent.GetItemText(i,0));
~~~~~~~~~~~~~~~~~~~~~
CStudentSet m_recordset;
CDBVariant varValue;
if(i==-1)
{
MessageBox("请选择一条要修改的记录!","提示",MB_OK|MB_ICONINFORMATION);
}
else
{
int temp=0;
strSQL.Format("select * from student where sno=%s",id);
~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
MessageBox("ERROL1");
m_recordset.GetFieldValue(temp,varValue);
dlg.m_modsno1=varValue.m_pstring->GetBuffer(1);
m_recordset.GetFieldValue(1,varValue);
dlg.m_modsname1=varValue.m_pstring->GetBuffer(1);
m_recordset.GetFieldValue(2,varValue);
dlg.m_modssex1=varValue.m_pstring->GetBuffer(1);
m_recordset.GetFieldValue(3,varValue);
dlg.m_modsage1=varValue.m_iVal;
m_recordset.GetFieldValue(4,varValue);
dlg.m_modsdept1=varValue.m_pstring->GetBuffer(1);
//m_database.Close();//此处不能断开与数据库的连接
dlg.DoModal();
RefreshData();
}
}