VC中如何更改access表的某字段的属性(如允许空字符/必填)?
要求用ADO或ADOX解决,多谢啦
一定是用程序语句实现啊
要求用ADO或ADOX解决,多谢啦
一定是用程序语句实现啊
解决方案 »
- 求助 EVC上 CDC 绘图 内存泄漏 刷新一次 4K 解决 重谢。
- 请问如何消除空记录选择
- 怎样使得非MFC下创建的按钮实现上下键切换焦点?
- 有关FindWindow函数发消息
- 散分!随便问下把一个读视图的程序改成读存储过程的程序大概收多少钱?
- 泄漏泄漏泄漏!!!!!!!!!!
- 大讨论:端口被占用、阻塞的几种可能途径?
- 怎么才能看到kdprint出来的信息啊?????!!!!!!!!!!!!!!!
- MFC编程中如何在edit control 中显示文件的全部内容???
- 請大家提供DriverStudio的序列好﹗拜托拜托!
- 两个独立进程通信问题
- 急问!!!VC中如何让程序停止,等待键盘按下某个键后,程序继续
http://www.vckbase.com/document/viewdoc/?id=215
只要能执行sql的都没问题
_RecordsetPtr pPtr;
if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))
{
AfxMessageBox("Create Instance failed!");
return FALSE;
} CString strSRC;
strSRC="Driver=SQL Server;Server=";
strSRC+="127.0.0.1";
strSRC+=";Database=";
strSRC+="DB";
strSRC+=";UID=sa;PWD=";
strSRC+="sa"; CString strSQL = "select id,name,gender,address from personal"; _variant_t varSRC(strSRC);
_variant_t varSQL(strSQL); if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText)))
{
AfxMessageBox("Open table failed!");
pPtr.Release();
return FALSE;
} while(!pPtr->GetadoEOF())
{
_variant_t varNo;
_variant_t varName;
_variant_t varSex;
_variant_t varAddress; varNo = pPtr->GetCollect ("id");
varName = pPtr->GetCollect ("name");
varSex = pPtr->GetCollect ("gender");
varAddress = pPtr->GetCollect ("address"); CString strNo =(char *)_bstr_t(varNo);
CString strName =(char *)_bstr_t(varName);
CString strSex =(char *)_bstr_t(varSex);
CString strAddress =(char *)_bstr_t(varAddress); strNo.TrimRight();
strName.TrimRight();
strSex.TrimRight();
strAddress.TrimRight(); int nCount = m_list.GetItemCount();
int nItem = m_list.InsertItem (nCount,_T(""));
m_list.SetItemText (nItem,0,strNo);
m_list.SetItemText (nItem,1,strName);
m_list.SetItemText (nItem,2,strSex);
m_list.SetItemText (nItem,3,strAddress); pPtr->MoveNext();
} pPtr->Close();
pPtr.Release();
CString strMsg;
CString strTemp;
strTemp = m_strDBPath + TEXT("\\XXXXXX.mdb");
strConnection.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False;"),strTemp);
_ConnectionPtr pConnection;
HRESULT hr = pConnection.CreateInstance( __uuidof(Connection) );
if ( FAILED(hr) )
{
::MessageBox(NULL,_T("您系统中的数据库驱动有问题。"), _T("提示"),MB_OK | MB_ICONINFORMATION);
} _RecordsetPtr pRecordset;
CString strSql;
try
{
pConnection->ConnectionTimeout = 18;
pConnection->ConnectionString =_bstr_t(strConnection);
pConnection->Open( _bstr_t(L""), _bstr_t(L""), _bstr_t(L""), -1 );
pConnection->Execute(_bstr_t(TEXT("ALTER TABLE tablename ALTER COLUMN colname 类型 Not Null")),NULL,adCmdText);
}
catch( _com_error& e)
{
_bstr_t bstrError = e.Description();
strMsg=(LPCTSTR)bstrError;
::MessageBox(NULL,strMsg, _T("提示"),
MB_OK | MB_ICONINFORMATION);
return;
} CoUninitialize();