📄 chap10_9.htm
字号:
<p ALIGN="JUSTIFY">AfxMessageBox("Can't add DSN!");</p>
<p ALIGN="JUSTIFY">return ;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">TRY</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">db.Open("MYDB");</p>
<blockquote>
<blockquote>
<p ALIGN="JUSTIFY">db.ExecuteSQL("CREATE TABLE OFFICES (OfficeID TEXT(4)" </p>
<p ALIGN="JUSTIFY">",OfficeName TEXT(10))"); }</p>
</blockquote>
</blockquote>
<p ALIGN="JUSTIFY">CATCH(CDBException, e)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">AfxMessageBox(e->m_strError);</p>
<p ALIGN="JUSTIFY">return;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">END_CATCH</p>
<p ALIGN="JUSTIFY"></font><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY">ExecuteSQL</font><font SIZE="3">执行了一个实实在在的</font><font FACE="Times New Roman" SIZE="3">SQL</font><font SIZE="3">语句</font><font FACE="Times New Roman" SIZE="3">CREATE</font><font SIZE="3">来创建表,看来用户应该找本</font><font FACE="Times New Roman" SIZE="3">SQL</font><font SIZE="3">方面的书研究研究。要注意一个数据库中的表名必须是唯一的,如果要创建的表已经存在,则</font><font FACE="Times New Roman" SIZE="3">ExecuteSQL</font><font SIZE="3">会产生一个异常。</font><font FACE="Times New Roman" SIZE="3"></p>
<b><p ALIGN="JUSTIFY"></b></font><font color="#3973DE" FACE="Times New Roman" SIZE="3">10.9.3
</font><font color="#3973DE"><font SIZE="3">用</font><font FACE="Times New Roman" SIZE="3">DAO</font><font SIZE="3">创建表</font></font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">由于</font><font FACE="Times New Roman" SIZE="3">DAO</font><font SIZE="3">类直接支持</font><font FACE="Times New Roman" SIZE="3">DDL</font><font SIZE="3">,所以用</font><font FACE="Times New Roman" SIZE="3">DAO</font><font SIZE="3">类创建表比</font><font FACE="Times New Roman" SIZE="3">ODBC</font><font SIZE="3">容易。</font><font FACE="Times New Roman" SIZE="3">DAO</font><font SIZE="3">的</font><font FACE="Times New Roman" SIZE="3">CDaoTableDef</font><font SIZE="3">类提供了对表的结构的定义,该类提供了创建表的成员函数。</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">清单</font><font FACE="Times New Roman" SIZE="3">10.16</font><font SIZE="3">演示了一段用</font><font FACE="Times New Roman" SIZE="3">DAO</font><font SIZE="3">类创建表的例子。注意,若要使用这段代码,则应该包含</font><font FACE="Times New Roman" SIZE="3">afxdao.h</font><font SIZE="3">头文件。在该例中,先与一个</font><font FACE="Times New Roman" SIZE="3">FoxPro 2.5</font><font SIZE="3">数据库连接(实际上是一个目录),然后再构建一个</font><font FACE="Times New Roman" SIZE="3">CDaoTableDef</font><font SIZE="3">对象,接着调用</font><font FACE="Times New Roman" SIZE="3">CDaoTableDef :: Create</font><font SIZE="3">函数创建一个名为</font><font FACE="Times New Roman" SIZE="3">STUDENTS</font><font SIZE="3">的表</font><font FACE="Times New Roman" SIZE="3">(STUDENTS.DBF)</font><font SIZE="3">,调用</font><font FACE="Times New Roman" SIZE="3">CDaoTableDef :: CreateField</font><font SIZE="3">为该表创建了两字段,字段名分别是</font><font FACE="Times New Roman" SIZE="3">ID</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">NAME</font><font SIZE="3">,类型分别是</font><font FACE="Times New Roman" SIZE="3">Integer</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">dbText</font><font SIZE="3">,字段的长度分别为</font><font FACE="Times New Roman" SIZE="3">2</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">10</font><font SIZE="3">个字节。最后调用</font><font FACE="Times New Roman" SIZE="3">CDaoTableDef :: Append</font><font SIZE="3">把新创建的表保存到数据库中。</font><font FACE="Times New Roman" SIZE="3"></p>
</font><b><font SIZE="3"><p ALIGN="JUSTIFY">清单</font><font FACE="Times New Roman" SIZE="3">10.16 DAO</font><font SIZE="3">创建表的例子</font></b><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY">#include </font><font SIZE="3">“</font><font FACE="Times New Roman" SIZE="3">afxdao.h</font><font SIZE="3">”</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"><b>. . .</b></p>
<p ALIGN="JUSTIFY">CDaoDatabase daoDb;</p>
<p ALIGN="JUSTIFY">try</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">daoDb.Open("",FALSE,FALSE,"FoxPro
2.5;DATABASE=d:\\zwin");</p>
<p ALIGN="JUSTIFY">CDaoTableDef table(&daoDb);</p>
<p ALIGN="JUSTIFY">table.Create("STUDENTS");</p>
<p ALIGN="JUSTIFY">table.CreateField("ID",dbInteger,2);</p>
<p ALIGN="JUSTIFY">table.CreateField("NAME",dbText,10);</p>
<p ALIGN="JUSTIFY">table.Append();</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">catch(CDaoException* e)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">AfxMessageBox(e-></p>
<p ALIGN="JUSTIFY">m_pErrorInfo->m_strDescription);</p>
<p ALIGN="JUSTIFY">e->Delete();</p>
<p ALIGN="JUSTIFY">return FALSE;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">关于</font><font FACE="Times New Roman" SIZE="3">CDaoDatabase :: Open</font><font SIZE="3">的说明请参见</font><font FACE="Times New Roman" SIZE="3">10.8.3</font><font SIZE="3">。注意一个数据库中的表名必须是唯一的,如果要创建的表已经存在,则</font><font FACE="Times New Roman" SIZE="3">CDaoTableDef :: Create</font><font SIZE="3">会产生一个异常。</font><font FACE="Times New Roman" SIZE="3"></p>
</font><div align="center"><center><table border="0" cellpadding="0" cellspacing="0" width="615">
<tr>
<td><a href="chap10_8.htm">上一页</a></td>
<td><p align="right"><a href="chap1010.htm">下一页</a></td>
</tr>
</table>
</center></div><font SIZE="5"><hr noshade color="#3973DE" size="1">
<p align="center"></font><font size="2" color="#000000">本教程由<a href="http://vcdynasty.yeah.net">Visual C++王朝(Where programmers come together)</a>协助制作<br>
未经许可,请勿以任何形式复制</font></td>
<b>
</tr>
</table>
</center></div>
<p ALIGN="CENTER"></b><font SIZE="5"> </font><font FACE="Times New Roman" SIZE="5"></p>
</font><font FACE="Times New Roman" SIZE="3">
<p></font><b><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
</font></b>
<p><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p></font> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -