如何在 Microsoft Access 中插入記錄?
CString SqlString; CString name="I want to add this variable in Table3"; SqlString = "INSERT INTO Table3 (Name,Numbers) VALUES (name,099)";
當我這樣做時,會出現以下錯誤:
資料庫錯誤:引數太少。預期 1。
uj5u.com熱心網友回復:
這是我自己的應用程式的一個片段:
BOOL CCommunityTalksApp::SetRecordForTalkNumber(int iTalkNumber, UINT uID, CString &rStrError)
{
CDatabase *pDatabase;
CString strSQL, strField;
BOOL bOK;
pDatabase = theApp.GetDatabase();
if(pDatabase != nullptr)
{
if (iTalkNumber == 9999)
strField = _T(" ");
else
strField.LoadString(uID);
strSQL.Format(_T("INSERT INTO [Public Talk Titles] ([Theme], [Category], [Talk Number]) VALUES ('%s', 'NS', %d)"), strField, iTalkNumber);
TRY
{
pDatabase->ExecuteSQL((LPCTSTR)strSQL);
bOK = TRUE;
}
CATCH(CDBException, Except)
{
rStrError = Except->m_strError;
bOK = FALSE;
}
END_CATCH
}
return bOK;
}
如你看到的:
- 使用
[and]包裝表和欄位名稱以解決任何與空格有關的問題。 - 首先限定欄位名稱 - 特別是如果您只填充某些欄位值。
- 用單引號包裹字串值。
所以:
SqlString = "INSERT INTO Table3 (Name,Numbers) VALUES (name,099)";
會是這樣的:
SqlString = "INSERT INTO [Table3] ([Name],[Numbers]) VALUES ('name',099)";
我很欣賞您的表/欄位名稱不需要方括號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476447.html
