`
feipigwang
  • 浏览: 775184 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

操作数据库系统信息

 
阅读更多

在我们的程序中,如何新建一个数据库?如何判断一个数据库是否存在?数据库的系统信息是怎样的?如何新建一个数据库表?如何得到一个数据库中所有的表明?等等这些任务,使用程序如何完成?这篇文章所展示的DBSystemHelper类将助你完成这些任务!DBSystemHelper是EnterpriseServerBase类库中DataAccess.DbSystem下的一个帮助类。类中所用到的IADOBase接口及SqlADOBase存在于EnterpriseServerBase.DataAccess命名空间中。

/**////<summary>
///DBSystemHelper用于提供数据库系统自身的信息,并提供对数据库自身的操作。目前主要针对SqlServer数据库。
///朱伟2005.08.17
///</summary>

publicclassDBSystemHelper
{
publicDBSystemHelper()
{
}


GetAllDbSysInfos,IsDbExist,GetDbSysInformation#regionGetAllDbSysInfos,IsDbExist,GetDbSysInformation
/**////<summary>
///得到所有数据库的系统信息
///</summary>

publicstaticDbSysInformation[]GetAllDbSysInfos(stringdbIP,stringuser,stringpwd)
{
stringconnStr=string.Format("Server={0};User={1};Pwd={2}",dbIP,user,pwd);
IADOBaseadoBase
=newSqlADOBase(connStr);

try
{
DataSetds
=adoBase.DoQuery("sp_helpdb");
DbSysInformation[]dbInfos
=newDbSysInformation[ds.Tables[0].Rows.Count];
for(inti=0;i<dbInfos.Length;i++)
{
dbInfos[i].ID
=int.Parse(ds.Tables[0].Rows[i]["DbID"].ToString());
dbInfos[i].Name
=ds.Tables[0].Rows[i]["Name"].ToString();
dbInfos[i].Owner
=ds.Tables[0].Rows[i]["Owner"].ToString();
dbInfos[i].TimeCreated
=DateTime.Parse(ds.Tables[0].Rows[i]["Created"].ToString());
}


returndbInfos;
}

catch(Exceptionee)
{
throwee;
}

}


/**////<summary>
///判断某个数据库是否存在
///</summary>

publicstaticboolIsDbExist(stringdbIP,stringuser,stringpwd,stringdbName)
{
DbSysInformation[]dbInfos
=DBSystemHelper.GetAllDbSysInfos(dbIP,user,pwd);
for(inti=0;i<dbInfos.Length;i++)
{
if(dbInfos[i].Name==dbName)
{
returntrue;
}

}


returnfalse;
}


/**////<summary>
///得到指定数据库的系统信息
///</summary>

publicstaticDbSysInformationGetDbSysInformation(stringdbIP,stringuser,stringpwd,stringdbName)
{
DbSysInformation[]dbInfos
=DBSystemHelper.GetAllDbSysInfos(dbIP,user,pwd);
for(inti=0;i<dbInfos.Length;i++)
{
if(dbInfos[i].Name==dbName)
{
returndbInfos[i];
}

}


returnnull;
}

#endregion


GetAllTableNames,IsTableExist#regionGetAllTableNames,IsTableExist
/**////<summary>
///得到指定数据库中所有用户表的名字
///</summary>

publicstaticstring[]GetAllTableNames(stringconnStr)
{
IADOBaseadoBase
=newSqlADOBase(connStr);

stringquery="selectnamefromsysobjectswhereOBJECTPROPERTY(id,'IsUserTable')=1";
DataSetds
=adoBase.DoQuery(query);

string[]names=newstring[ds.Tables[0].Rows.Count];
for(inti=0;i<ds.Tables[0].Rows.Count;i++)
{
names[i]
=ds.Tables[0].Rows[i][0].ToString();
}


returnnames;
}


/**////<summary>
///判断特定的数据库中是否存在某个表
///</summary>

publicstaticboolIsTableExist(stringconnStr,stringtableName)
{
string[]names=DBSystemHelper.GetAllTableNames(connStr);
for(inti=0;i<names.Length;i++)
{
if(names[i]==tableName)
{
returntrue;
}

}


returnfalse;
}

#endregion


CreateDb,RemoveDb#regionCreateDb,RemoveDb
/**////<summary>
///创建一个新的数据库
///</summary>

publicstaticvoidCreateDb(stringdbIP,stringuser,stringpwd,stringnewDbName)
{
stringconnStr=string.Format("Server={0};User={1};Pwd={2}",dbIP,user,pwd);
IADOBaseadoBase
=newSqlADOBase(connStr);

stringcommand=string.Format("Createdatabase{0}",newDbName);
adoBase.DoCommand(command);
}


/**////<summary>
///删除指定数据库
///</summary>

publicstaticvoidRemoveDb(stringdbIP,stringuser,stringpwd,stringdbName)
{
stringconnStr=string.Format("Server={0};User={1};Pwd={2}",dbIP,user,pwd);
IADOBaseadoBase
=newSqlADOBase(connStr);

stringcommand=string.Format("Dropdatabase{0}",dbName);
adoBase.DoCommand(command);
}

#endregion


BackUpDb,RestoreDb#regionBackUpDb,RestoreDb
/**////<summary>
///备份指定数据库
///</summary>

publicstaticvoidBackUpDb(stringdbIP,stringuser,stringpwd,stringdbName,stringbakFilePath)
{
stringconnStr=string.Format("Server={0};User={1};Pwd={2}",dbIP,user,pwd);
IADOBaseadoBase
=newSqlADOBase(connStr);

stringcommand=string.Format("use{0}backupdatabase{0}todisk='{1}'",dbName,bakFilePath);
adoBase.DoCommand(command);
}


/**////<summary>
///还原指定数据库
///</summary>

publicstaticvoidRestoreDb(stringdbIP,stringuser,stringpwd,stringbakFilePath,stringdbName)
{
stringconnStr=string.Format("Server={0};User={1};Pwd={2}",dbIP,user,pwd);
IADOBaseadoBase
=newSqlADOBase(connStr);

stringcommand=string.Format("use{0}restoredatabase{0}fromdisk='{1}'",dbName,bakFilePath);
adoBase.DoCommand(command);
}

#endregion


CreateTable,RemoveTable#regionCreateTable,RemoveTable
/**////<summary>
///在数据库中创建指定表
///</summary>

publicvoidCreateTable(stringconnStr,DBTableDetailtableInfo)
{
//形成SQL语句
StringBuilderstrBuilder=newStringBuilder();
stringstr_create=string.Format("CreateTable{0}",tableInfo.TableName);
strBuilder.Append(str_create);
strBuilder.Append(
"(");

intstart=0;
if(tableInfo.Columns[0].ColumnType=="int")
{
if(tableInfo.Columns[0].IsAutoID)
{
strBuilder.Append(
string.Format("{0}intPRIMARYKEYIDENTITY,",tableInfo.Columns[0].ColumnName));
start
=1;
}

}


for(inti=start;i<tableInfo.Columns.Length;i++)
{
boollength_fixed=DBSystemHelper.DBType_lengthFixed(tableInfo.Columns[i].ColumnType);
stringitem;
if(length_fixed)
{
item
=string.Format("{0}{1}",tableInfo.Columns[i].ColumnName,tableInfo.Columns[i].ColumnType);
}

else
{
item
=string.Format("{0}{1}({2})",tableInfo.Columns[i].ColumnName,tableInfo.Columns[i].ColumnType);
}


if((tableInfo.Columns[i].DefaultValue!=null)&&(tableInfo.Columns[i].DefaultValue!=""))
{
item
+=string.Format("DEFAULT{0}",tableInfo.Columns[i].DefaultValue);
}


if(tableInfo.Columns[i].IsPkey)
{
item
+="PRIMARYKEY";
}


if(i!=tableInfo.Columns.Length-1)
{
item
+=",";
}


strBuilder.Append(item);

}


strBuilder.Append(
")");

//插入数据库
IADOBaseadoBase=newSqlADOBase(connStr);
adoBase.DoCommand(strBuilder.ToString());
}


/**////<summary>
///删除数据库中的指定表
///</summary>

publicvoidRemoveTable(stringconnStr,stringtableName)
{
IADOBaseadoBase
=newSqlADOBase(connStr);
stringdeleteStr=string.Format("DropTable{0}",tableName);
adoBase.DoCommand(deleteStr);
}


privatestaticboolDBType_lengthFixed(stringDB_type)
{
if(DB_type=="nvarchar"||DB_type=="varbinary")
{
returnfalse;
}


returntrue;
}

#endregion

}


/**////<summary>
///某个数据库的系统信息
///</summary>

publicclassDbSysInformation
{
publicintID;
publicstringName;
publicstringOwner;
publicDateTimeTimeCreated;
}
分享到:
评论

相关推荐

    数据库系统06第二学期A答案刘艳艳

    数据库系统是一种按照一定的数据模型组织、存储和应用的数据的集合,支持数据库各种操作的软件系统。它是计算机系统中重要的一部分,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成。 2. 数据模型: ...

    (04735数据库系统原理)第1章--数据库系统概述.pptx

    数据库系统原理是计算机科学中的关键组成部分,主要关注如何有效地管理和存取数据资源。数据库技术起源于20世纪60年代末...通过深入学习,读者将能够理解和操作数据库系统,为实际的数据管理和信息处理提供有力的支持。

    数据库系统王珊课后习题答案

    "数据库系统王珊课后习题答案" 数据库系统是一种复杂的软件系统,用于科学地组织和存储数据、高效地获取和维护...适合用数据库系统的应用例子包括大型企业的管理信息系统、银行的自动化系统、计算机辅助设计系统等。

    数据库系统概念 (本科教学版·原书第7版)

    对深入理解数据库,深人研究数据库,深入操作数据库都具有极强的指导作用! 《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。本书基于该书...

    教室管理系统数据库系统设计

    安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在...

    数据库系统基础教程教程

    数据库系统有很多应用,如管理信息系统、电子商务系统、社交媒体平台等。数据库系统可以帮助人们更好地组织和管理数据,从而提高工作效率和决策能力。 5. 结论 数据库系统基础教程旨在帮助学生掌握数据库系统的...

    数据库系统工程师教程-带书签

    数据库作为现代信息系统的核心组件,其重要性不言而喻,因此,理解并熟练掌握数据库系统的工作原理和技术是成为一名合格的数据库系统工程师的必经之路。 本书涵盖的内容广泛且深入,可能包括以下几个主要方面: 1....

    中级高级软考!! PDF 数据库系统原理

    数据库系统原理是信息技术领域中的核心课程,尤其对于中级和高级软件考试来说,深入理解数据库系统的概念、设计与管理是至关重要的。本资料“中级高级软考!! PDF 数据库系统原理”旨在帮助考生全面掌握数据库系统的...

    数据库系统概念 第六版 习题答案

    总之,《数据库系统概念》第六版的习题答案是学习数据库理论和技术的宝贵资源,它将帮助读者深化对数据库系统的理解,提升实际操作技能,为未来从事数据库相关工作或研究打下坚实的基础。通过结合书本内容和习题解答...

    (完整word版)数据库系统概论期末考试试题.doc

    "数据库系统概论期末考试试题" 本资源是数据库系统概论期末考试试题,涵盖了数据库系统的基础知识、关系数据库、数据库设计、数据库管理系统、SQL语言、数据安全、事务处理、并发控制、数据库恢复等方面的知识点。 ...

    python+sql sever 数据库系统大作业实验 教学信息管理系统

    在本实验项目“python+sql sever 数据库系统大作业实验 教学信息管理系统”中,我们将探讨如何使用Python编程语言与SQL Server数据库进行交互,实现一个教学信息管理系统的各项功能。这个项目包括了数据库设计、...

    数据库系统导论(第7版)中文

    数据库系统是信息技术领域中的核心部分,它负责存储、管理和检索数据,为各种应用程序提供支持。《数据库系统导论》作为一本经典教材,已经更新至第七版,并提供了中文版,这无疑为中国读者理解复杂的数据库概念提供...

    数据库系统概论 第五版(主编王珊、萨师煊)习题答案

    比如,电子商务网站就是一个数据库系统,其中包含了商品信息、订单、用户资料等数据库,用户通过网站界面与DBMS交互,完成购物操作。 4. 使用数据库系统的优点: - 提高开发效率:DBMS提供了抽象的数据接口,使得...

    数据库系统概念表SQL数据

    在《数据库系统概念》中,每个表都有其特定的结构和含义,例如,可能包含客户信息、订单详情、产品信息等。理解这些表的关系对于正确地执行SQL查询至关重要。附带的表关系图能直观地展示各表间的关联,比如一对一、...

    数据库系统及应用 崔巍(高教)

    1. **数据库系统基础**:介绍数据库的基本概念,如数据、数据库、数据库管理系统(DBMS)、数据库模式等,以及数据库系统在信息系统中的角色。 2. **关系模型**:详细讲解关系数据模型,包括关系的定义、属性、元组...

    (完整版)数据库系统概论第五版课后习题答案王珊

    数据库系统是现代信息技术中不可或缺的一部分,它为数据的存储、管理、检索和共享提供了高效而可靠的方法。在《数据库系统概论》第五版中,王珊教授深入浅出地介绍了数据库的基本概念,让我们来详细探讨其中的重点...

Global site tag (gtag.js) - Google Analytics