acess数据库 表的命名规则

我用VC动态创建数据库表,遇到一个问题,数据表的名称遇到-、+、=等字符时就会创建失败,而只是数字和字母时就会创建成功,代码如下,请数据库高手指点,我创建的表的名称中必须... 我用VC动态创建数据库表,遇到一个问题,数据表的名称遇到-、+、=等字符时就会创建失败,而只是数字和字母时就会创建成功,代码如下,请数据库高手指点,我创建的表的名称中必须含有‘-’这个字符,请问能实现吗?我在access中手动创建表名是可以出现‘-’的,在vc里怎么会失败呢?有没有解决办法
BOOL CTestDlg::CreatNoteInMdb(LPCSTR MdbPath, LPCSTR NoteName)
{
if(!IsMdbExist(MdbPath))
{
AfxMessageBox("指定的数据库文件不存在!");
return FALSE;
}
_ConnectionPtr m_pConnection;
::CoInitialize(NULL);
CString strcnn;
strcnn.Format("Provider=Microsoft.JET.OLEDB.4.0;Data source=%s",MdbPath);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
m_pConnection->Open(_bstr_t(strcnn), "", "", adConnectUnspecified);
_variant_t RecordsAffected;
CString strSql;
BSTR bstrSQL;
strSql.Format("CREATE TABLE %s(日期时间 char(19),电压 float,电流 float,转速 int,转矩 float,频率 float,有功功率 float,无功功率 float,功率因数 float,运行状态 char(50))",NoteName);
bstrSQL = strSql.AllocSysString();
m_pConnection->Execute(bstrSQL, &RecordsAffected, adCmdText);

strSql.Format("alter table %s add constraint [%sxs_p] primary key (日期时间)",NoteName,NoteName);//在数据表中创建日期时间项设为主键,目的是避免相同的数据多次加载
bstrSQL = strSql.AllocSysString();
m_pConnection->Execute(bstrSQL, &RecordsAffected, adCmdText);
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
m_pConnection = NULL;
::CoUninitialize();
return FALSE;
}
m_pConnection->Close();
m_pConnection = NULL;
::CoUninitialize();
return TRUE;
}
展开
 我来答
lzx0384
2009-06-12 · TA获得超过591个赞
知道小有建树答主
回答量:574
采纳率:100%
帮助的人:557万
展开全部
ACCESS开发的命名规则
数据库涉及字符规则

采用26个英文字母(区分大小写)和0 -9这十个自然数,加上下划线_组成,共63个字符。不能出现其他字符(注释除外)。

数据库对象命名规则

数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。前缀:使用小写字母。

例如:

表 tb
视图 vi
存储过程 sp
函数 fn

实际名字

实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。
例如:

表 User_Info
视图 UserList
存储过程 UserDelete

因此,合法的对象名字类似如下。

表 tbUser_Info、tbMessage_Detail
视图 vi_MessageList
存储过程 sp_MessageAdd

数据库表命名规则

字段由前缀和实际名字组成。实际名字中首单词一个系统尽量采取同一单词。
前缀:使用小写字母tb,表示表。
例如:tbMember
tbMember_Info
tbForum_Board
tbForum_Thread1

字段命名规则

数字、字符、日期/时间、lob(大对象)、杂项,字段由表的简称、下划线,实际名字加后缀组成。
后缀:使用小写字母,代表该字段的属性。
例如: User_Idint
User_Namestr
User_RegDatedtm

视图命名规则

字段由前缀和实际名字组成,中间用下划线连接。
前缀:使用小写字母vi,表示视图。
例如:vi_User
vi_UserInfo

存储过程命名规则

字段由前缀和实际名字组成,中间用下划线连接。
前缀:使用小写字母sp,表示存储过程。
例如:sp_User

数据库设计文档规则

所有数据库设计要写成文档,文档以模块化形式表达。大致格式如下:
'-------------------------------------------
' 表名: tbUser_Info
' 建立人:UAM_Richard
' 日期: 2004-12-17
' 版本: 1.0
' 描述: 保存用户资料
' 具体内容:
' UserId int,自动增量 用户代码
' UserName char(12) 用户名字
' ......
'--------------------------------------------

sql语句规则

所有sql关键词全部大写,比如Select,Update,FROM,ORDER,BY等。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式