一、ADO连接数据库步骤
1、这行不能少
#import “C:\Program Files\Common Files\system\ado\msado60.tlb” no_namespace rename(“EOF”,“adoEOF”)
2、初始化ado组件
CoInitialize(NULL);
3、初始化连接对象和数据记录
_ConnectionPtr::CreateInstance(“ADODB.Connection”);
_RecordsetPtr::CreateInstance(“ADODB.Recordset”);
4、建立连接
_ConnectionPtr::Open(_bstr_t ConnectionString,_bstr_t UserID,_bstr_t Password,long Options)
ConnectionString = “Provider=SQLOLEDB.1;Server=192.168.1.100;DataBase=name;”; //打开数据库用oledb的方式连接
Options = adModeUnknown; //缺省,当前的许可权未设置
5、断开连接
_ConnectionPtr::Close();
CoUninitialize();
二、ADO操作数据库
1、下发指令
_RecordsetPtr _ConnectionPtr::Execute(_bstr_t CommandText,VARIANT* RecordsAffected,long Options);
CommandText是命令字串,通常是SQL命令,
RecordsAffected是操作完成后所影响的行数
Options表示CommandText中内容的类型,可以取下列值之一:
1>adCmdText 表明CommandText是文本命令
2>adCmdTable 表明CommandText是一个表名
3>adCmdProc 表明CommandText是一个存储过程
4>adCmdUnknown 未知
Execute执行完后返回一个指向记录集的指针(_ResultsetPtr类型)
2、遍历记录使用到的接口
_RecordsetPtr::adoEOF
_RecordsetPtr::GetCollect(列名)
_RecordsetPtr::MoveNext()
_RecordsetPtr::Close()
三、常用的SQL语句
1、INSERT INTO - 向表中插入新记录
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
2、DELETE - 删除表中的行
DELETE FROM table_name
WHERE some_column=some_value;
3、SELECT - 从数据库中选取数据。结果被存储在一个结果表中,称为结果集。
SELECT * FROM table_name;
4、UPDATE - 更新表中已存在的记录
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column1=some_value1 AND some_column2=some_value2;
5、CREATE DATABASE - 创建新数据库
CREATE DATABASE dbname;
6、DROP DATABASE - 删除数据库
DROP DATABASE database_name;
7、CREATE TABLE - 创建新表
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
8、DROP TABLE - 删除表
DROP TABLE table_name
9、TRUNCATE TABLE - 清空表内容
TRUNCATE TABLE table_name
10、CREATE INDEX - 创建索引(搜索键)
CREATE INDEX index_name
ON table_name (column_name)
11、DROP INDEX - 删除索引
ALTER TABLE table_name DROP INDEX index_name