我用VC+SQL做的一个操作数据库的东西,怎么我按照书上的例子做的添加记录他却显示“在此上下文中不允许使用'xxxx'.在此处只允许使用常量,表达式活变量。不允许使用列名。请问我是那里没弄对啊?void DepDlg::OnAddButton() 
{
// TODO: Add your control notification handler code here
DepEdit dlg;
dlg.vDepId="";
// MessageBox(dlg.vDepId);
if(dlg.DoModal()==IDOK)
RefreshData();
}//这个是我按添加后的代码
void DepEdit::OnOK() 
{
// TODO: Add extra validation here
Department dep;

UpdateData(true);
//检查数据有效性
if(m_DepName=="")
{
MessageBox("请输入专业名称");
return;
}
//对Department对象赋值
dep.SetDep_name(m_DepName);
dep.SetDep_id(8);
//根据成员变量才cEmpId的值,决定是插入还是修改数据
if(vDepId=="")//插入数据
dep.sql_insert();
else
dep.sql_update(vDepId); CDialog::OnOK();
}//这个是编辑对话框按OK按钮后的代码
void Department::sql_insert()
{
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strId;
strId.Format("%d",Dep_id);
_bstr_t vSQL;
vSQL = "INSERT INTO Department(Dep_id,Dep_name)VALUES('"+strId+"',"+Dep_name+",1)";
//执行SQL语句
m_AdoConn.ExecuteSQL(vSQL);
//断开连接
m_AdoConn.ExitConnect();
}//这个是dep.sql_insert()
void DepDlg::RefreshData()
{
//设置ADO Data控件的数据源
m_adodc.SetRecordSource("SELECT Dep_id,Dep_name AS 专业 FROM Department");
m_adodc.Refresh();
//设置列宽
_variant_t vIndex;
vIndex = long(0);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(20);
vIndex = long(1);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(50);
}//这个是RefreshData()我是那里没弄对啊,帮帮我啊,谢谢各位了!!