Borland C++ Builder (BCB) 动态创建ACCESS的MDB数据表
2009-01-23 09:06
495 查看
Borland C++ Builder (BCB) 动态创建ACCESS的MDB数据表
当BCB使用Misoftsoft SQL数据库时,我们可以使用如下的SQL语句来创建数据表。
if object_id('TABLENAME') is not null
begin
drop table TABLENAME
end "
CREATE TABLE TABLENAME (
ID int IDENTITY (1, 1) NOT NULL,
Name varChar(100) NOT NULL,
PRIMARY KEY (tmpDnDevID))
但是当我们使用ACCESS数据库时上述语句却出现错误,这是ACCESS数据对SQL语句的兼容问题,我们不得不分别执行删除表和创建表的操作。
第一步、 删除已存在的数据表。一般情况下如果数据表不存在,但又执行删除命令时,会出现异常出错的提示。这里使用了异常抛出,避免出现错误令程序中断,解决了删除表的问题。
第二步、执行创建的SQL语句。
上面创建语句中,如果将Varchar(100) 改为Char(100) 在执行时会出现记录过大的问题,所以使用Char类型时,最好是改为Varchar,这方面要多加注意。
Written By Jason
当BCB使用Misoftsoft SQL数据库时,我们可以使用如下的SQL语句来创建数据表。
if object_id('TABLENAME') is not null
begin
drop table TABLENAME
end "
CREATE TABLE TABLENAME (
ID int IDENTITY (1, 1) NOT NULL,
Name varChar(100) NOT NULL,
PRIMARY KEY (tmpDnDevID))
但是当我们使用ACCESS数据库时上述语句却出现错误,这是ACCESS数据对SQL语句的兼容问题,我们不得不分别执行删除表和创建表的操作。
第一步、 删除已存在的数据表。一般情况下如果数据表不存在,但又执行删除命令时,会出现异常出错的提示。这里使用了异常抛出,避免出现错误令程序中断,解决了删除表的问题。
AnsiString SqlStr = "drop table " + TABLENAME; qryData->SQL->Clear(); qryData->SQL->Add(SqlStr); try{ qryData->ExecSQL(); } catch(...) { }
第二步、执行创建的SQL语句。
AnsiString SqlStr = " CREATE TABLE TABLENAME ( ID int IDENTITY (1, 1) NOT NULL, Name varChar(100) NOT NULL, PRIMARY KEY (ID))"; try{ qryData->ExecSQL(); } catch(...) { }
上面创建语句中,如果将Varchar(100) 改为Char(100) 在执行时会出现记录过大的问题,所以使用Char类型时,最好是改为Varchar,这方面要多加注意。
Written By Jason
相关文章推荐
- BCB中实现动态创建组件[ch_builder(原作)]
- 解决了几乎所有Delphi+Access同仁的问题—动态创建、压缩Access数据库(*.MDB)
- BCB 之 C++Builder XE 之 Excel 数据整合
- NET用动态创建ACCESS数据表的语法
- 动态创建数据库和数据表(BCB环境)
- UE4 C++ 从内存数据创建动态材质
- C++ builder package(bcb bpl)创建和vcl调用
- Borland C++ Builder (BCB) 安装TeeChart Pro v8.01的步聚与方法
- c++动态创建二维数组
- C++ 动态数据结构(四)
- 在C# + Access + ADOX环境下创建数据库和数据表
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- C/C++动态内存创建与内存管理
- c++通过类名动态创建对象
- C++动态创建二维数组,二维数组指针
- PB datawindows 动态创建数据窗口
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- BCB中如何来压缩 mdb 数据库
- Excel数据区域创建动态快照
- 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中