我写了一个父类,定义了几个方法,如下。每个方法上面都有说明。 请继承这个类写一个名为 AdoDatabaseInfo 的子类。用ADO(注意是用ADO)来实现这个类中的几个方法。只要先写出来,测试通过立即给分。 谢谢unit AbsDatabaseInfo;interface
uses Classes;
Type
TAbsDatabaseInfo = Class
public /// <summary>
/// 得到指定数据库中所有的表(用户表,不包括视图)
/// </summary>
/// <param name="databaseName"> 数据库名称 </param>
/// <returns> 包含表名的TList </returns>
function getTableNames(databaseName:String):TList; virtual;abstract; /// <summary>
/// 得到指定表名的所有字段名
/// </summary>
/// <param name="tableName"> 表名 </param>
/// <returns> 包含字段名的Tlist</returns>
function getFieldNames(tableName : String):TList; virtual;abstract; /// <summary>
/// 得到指定字段的字段类型
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 0整型 1字符串型 2浮点型 3日期型 4其它类型</returns>
function getFieldType(fieldName : String):Integer; virtual;abstract; /// <summary>
/// 得到指定字段的默认值
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 该字段的默认值 </returns>
function getDefaultValue(fieldName : String):String; virtual;abstract; /// <summary>
/// 判断指定字段是否有默认值
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 有返回true,没有返回false</returns>
function HasDefault(fieldName : String):Boolean; virtual;abstract; /// <summary>
/// 判断指定的字段是否为主键
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 是返回true,不是返回false</returns>
function IsPrimaryKey(fieldName : String):Boolean; virtual;abstract; /// <summary>
/// 得到指定字段的描述信息
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 返回描述信息 </returns>
function getFieldDiscription(fieldName : String):String; virtual;abstract; /// <summary>
/// 判断指定字段是否可以为空
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 可以返回true,不可以返回false </returns>
function NullAble(fieldName : String):Boolean; virtual;abstract; End;implementationend.
uses Classes;
Type
TAbsDatabaseInfo = Class
public /// <summary>
/// 得到指定数据库中所有的表(用户表,不包括视图)
/// </summary>
/// <param name="databaseName"> 数据库名称 </param>
/// <returns> 包含表名的TList </returns>
function getTableNames(databaseName:String):TList; virtual;abstract; /// <summary>
/// 得到指定表名的所有字段名
/// </summary>
/// <param name="tableName"> 表名 </param>
/// <returns> 包含字段名的Tlist</returns>
function getFieldNames(tableName : String):TList; virtual;abstract; /// <summary>
/// 得到指定字段的字段类型
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 0整型 1字符串型 2浮点型 3日期型 4其它类型</returns>
function getFieldType(fieldName : String):Integer; virtual;abstract; /// <summary>
/// 得到指定字段的默认值
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 该字段的默认值 </returns>
function getDefaultValue(fieldName : String):String; virtual;abstract; /// <summary>
/// 判断指定字段是否有默认值
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 有返回true,没有返回false</returns>
function HasDefault(fieldName : String):Boolean; virtual;abstract; /// <summary>
/// 判断指定的字段是否为主键
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 是返回true,不是返回false</returns>
function IsPrimaryKey(fieldName : String):Boolean; virtual;abstract; /// <summary>
/// 得到指定字段的描述信息
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 返回描述信息 </returns>
function getFieldDiscription(fieldName : String):String; virtual;abstract; /// <summary>
/// 判断指定字段是否可以为空
/// </summary>
/// <param name="fieldName"> 字段名称 </param>
/// <returns> 可以返回true,不可以返回false </returns>
function NullAble(fieldName : String):Boolean; virtual;abstract; End;implementationend.
1.继承你的虚基类,加入私有变量:FAdoConnection,FUserId,FPassword等,即用来
连接数据库的字符串需要的内容。
2.调用AdoConnection的相应方法来实现你的抽象方法。比如:
GetFieldsNames,GetTableNames,OpenSchema等。
帮助就有,难道你的意思是你手头没有delphi?