如何调用数据库_第1页
如何调用数据库_第2页
如何调用数据库_第3页
如何调用数据库_第4页
如何调用数据库_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/如何调用数据库usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Data;namespaceSql2005/<summary>/Sql数据操作帮助类,包括数据的创建,删除,修改密码等一系统列操作/</summary>publicabstractclassDBT_SqlHelper/<summary>/根据条件创建数据库/</summary>/<paramna

2、me="dbName">用于指定数据文件的逻辑名称</param>/<paramname="dbFileName">指定数据文件的操作系统文件名。其后面的参数是创建数据文件时定义的物理文件的路径名和文件名</param>/<paramname="dbSize">指定数据文件的大小</param>/<paramname="dbMaxSize">指定数据文件可以增长到的最大大小</param>/<paramname=&quo

3、t;dbFileGrowth">/指定数据文件的增长增量,其值不能超过maxsize设置。0表示不增长。,默认值为MB。如果指定为,/则增量大小为发生时文件大小的指定百分比,如果没有指定,默认值为10%。/</param>/<paramname="logName">用于指定数据日志的逻辑名称</param>/<paramname="logFileName">指定数据日志的操作系统文件名。其后面的参数是创建数据日志时定义的物理文件的路径名和文件名</param>/<param

4、name="logSize">指定数据日志的大小</param>/<paramname="logMaxSize">指定数据日志可以增长到的最大大小</param>/<paramname="logFileGrowth">/指定数据日志的增长增量,其值不能超过maxsize设置。0表示不增长。,默认值为MB。如果指定为%/则增量大小为发生时文件大小的指定百分比,如果没有指定,默认值为10%。/</param>/<paramname="isDeletedb&q

5、uot;>在创建数据库是否删除同名的现存数据库</param>publicstaticvoidCreateDatabase(stringdbName,stringdbFileName,stringdbSize,stringdbMaxSize,stringdbFileGrowth,stringlogName,stringlogFileName,stringlogSize,stringlogMaxSize,stringlogFileGrowth,BooleanisDeletedb)#region检查是否存在数据dbNameStringBuilderdbSql=newStringB

6、uilder();/设置当前数据库dbSql.Append("USEmaster");dbSql.Append("GO");if(isDeletedb)dbSql.Append("IFEXISTS(SELECT*FROMsysdatabasesWHEREname='dbName')beginDROPDATABASEdbNameend");#endregion#region创建数据库/开始创建数据并指定名称dbSql.Append(/数据库名 dbSql.Append(/数据路经 dbSql.Append(/大小dbSq

7、l.Append(/最大值dbSql.Append(/增长值dbSql.Append();"CREATEDATABASEdbNameONPRIMARY(""NAME='dbName"+"_data',");"FILENAME='dbFileName',");"SIZE=dbSize,");"MAXSIZE=dbMaxSize,");"FILEGROWTH=dbFileGrowth)");#endregion#region创建

8、数据库日志/开始创建日志文件dbSql.Append("LOGON(");/日志文件名dbSql.Append("NAME='logName"+"_log',");/日志文件路经dbSql.Append("FILENAME='logFileName',");/大小dbSql.Append("SIZE=logSize,");/最大值dbSql.Append("MAXSIZE=logMaxSize,");/增加值dbSql.Append("

9、;FILEGROWTH=logFileGrowth)GO");#endregion#region开始执行创建命令/设置参数列表SqlParameter口parameter=newSqlParameter("dbName",dbName),newSqlParameter("dbFileName",dbFileName),newSqlParameter("dbSize",dbSize),newSqlParameter("dbMaxSize",dbMaxSize),newSqlParameter("d

10、bFileGrowth",dbFileGrowth),newSqlParameter("logName",logName),newSqlParameter("logFileName",logFileName),newSqlParameter("logSize",logSize),newSqlParameter("logMaxSize",logMaxSize),newSqlParameter("logFileGrowth",logFileGrowth);DBT_SqlHelper.Exe

11、cteNonQueryText(dbSql.ToString().Trim(),null);#endregion/<summary>/删除指定名称的数据库文件以及日志文件/</summary>/<paramname="dbName”>数据库名称</param>publicstaticvoidDropDatabase(stringdbName)#region 构造Sql代码StringBuilderdbSql=newStringBuilder();/设置当前数据库dbSql.Append("USEmaster");db

12、Sql.Append("GO");dbSql.Append("DROPDATABASEdbName");#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=newSqlParameter("dbName",dbName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),parameter);#endregion/<summary>/备份数据库/</summary>/<paramname=

13、"dbName">数据库文件名</param>/<paramname="dbFileName”>路经包括盘符和文件名以及扩展名称一般为"_dat”</param>publicstaticvoidBackupDatabase(stringdbName,stringdbFileName)#region构造Sql代码StringBuilderdbSql=newStringBuilder();/设置当前数据库dbSql.Append("USEmaster");dbSql.Append("GO

14、");dbSql.Append("BACKUPDATABASEdbNameTODISK='dbFileName'");#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=new SqlParameter(new SqlParameter("dbName",dbName),"dbFileName",dbFileName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),parameter);#

15、endregion/<summary>/恢复数据库/</summary>/<paramname="dbName">数据库名</param>/<paramname="dbFileName”>路经包括盘符和文件名以及扩展名称一般为"_dat”</param>publicstaticvoidRestoreDatabase(stringdbName,stringdbFileName)#region构造Sql代码StringBuilderdbSql=newStringBuilder();/设置

16、当前数据库dbSql.Append("USEmaster");dbSql.Append("GO");dbSql.Append("restoredatabasedbNamefromdisk='dbFileName'WITHREPLACE,RECOVERY");#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=newSqlParameter("dbName",dbName),newSqlParameter("dbFileName"

17、;,dbFileName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),null);#endregion/<summary>/附加数据库文件/</summary>附加时的新名称可以是原名,也可以得新数据文件的路径包括盘符和文件名以及/<paramname="newDbName">取一个新名称</param>/<paramname="dbFileName">扩展名</param>/<paramname=&quo

18、t;logFileName">日志文件的路径包括盘符和文件名以及扩展名</param>publicstaticvoidOnlineDatabase(stringnewDbName,stringdbFileName,stringlogFileName)#region构造Sql代码new StringBuilder();StringBuilderdbSql=/设置当前数据库dbSql.Append( dbSql.Append( dbSql.Append( ame','logFileName'""USEmaster")

19、;"GO");"EXECsp_attach_dbnewDbName,'dbFileN);#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=newSqlParameter("dbFileName",dbFileName),newSqlParameter("logFileName",logFileName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),null);#endregion/<su

20、mmary>/分离数据库文件/</summary>/<paramname="dbName”>数据库名称</param>publicstaticvoidOfflineDatabase(stringdbName)#region构造Sql代码StringBuilderdbSql=newStringBuilder();/设置当前数据库dbSql.Append("USEmaster");dbSql.Append("GO");dbSql.Append("execsp_detach_db'dbNam

21、e'");#endregion#region开始执行命令/设置参数列表dbNamstriSqlParameter口parameter=newSqlParameter(e",dbName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),null);#endregion/<summary>/重新设置用户的密码/</summary>/<paramname="newPassword">新密码</param>/<paramname=&q

22、uot;userName">登录用户名</param>publicstaticvoidResetPassword(stringnewPassword,nguserName)#region构造Sql代码StringBuilderdbSql=newStringBuilder();/设置当前数据库dbSql.Append("USEmaster");dbSql.Append("GO");dbSql.Append("EXECsp_passwordnull,'newPassword','userName&

23、#39;");#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=new SqlParameter(new SqlParameter("newPassword",newPassword),"userName",userName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),null);#endregion/<summary>/分离数据库文件/</summary>/<paramname=&quo

24、t;dbName”>数据库名称</param>/<paramname="newPassword">新密码</param>use/<paramname="userName">登录用户名</param>publicstaticvoidCreateDbUser(stringdbName,stringrName,stringpassWord)#region构造Sql代码new StringBuilder();StringBuilderdbSql=/设置当前数据库dbSql.Append("

25、;USE"+dbName);dbSql.Append("GO");dbSql.Append("EXECsp_addloginN'userName','passWord'");dbSql.Append("EXEC sp_grantdbaccess N'userName'");#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=newnewnewSqlParameter(SqlParameter(SqlParameter(&qu

26、ot;dbName" ,userName), "userName" , userName), "passWord" , passWord);m(),DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trinull);#endregion/<summary>/给指定数据的指定用户授于本数据库的所有操作权限/</summary>/<paramname="dbName”>数据库名称</param>string/<paramname=&qu

27、ot;userName">用户名称</param>publicstaticvoidAddRoleToDbUser(stringdbName,userName)#region构造代码StringBuilderdbSql=newStringBuilder();/设置当前数据库dbSql.Append("USE"+dbName);dbSql.Append("GO");dbSql.Append("EXECsp_addrolememberN'dbName',N'userName'");

28、#endregion#region开始执行命令/设置参数列表SqlParameter口parameter=newSqlParameter("dbName",userName),newSqlParameter("userName",userName);DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(),null);#endregion#region连接Sql数据部分/<summary>/数据库连接字符串/</summary>publicstaticreadonlystri

29、ngconnectionstring=System.Configuration.ConfigurationSettings.AppSettings"con".ToString().Trim();#regionExecteNonQuery方法/<summary>/执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。/使用参数数组形式提供参数列表/</summary>/<paramname="connectionString">一个有效的数据库连接字符串</param>/<param

30、name="cmdType">SqlCommand命令类型(存储过程,T-SQL语句,等等。)</param>/<paramname="cmdText">存储过程的名字或者T-SQL语句</param>/<paramname="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>/<returns>返回一个数彳I表示此SqlCommand命令执行后影响的行数</returns>publics

31、taticintExecteNonQuery(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParameter口commandParameters)SqlCommandcmd=newSqlCommand();using(SqlConnectionconn=newSqlConnection(connectionString)/通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中PrepareCommand(cmd,conn,null,cmdType,cmdText,commandP

32、arameters);intval=cmd.ExecuteNonQuery();/清空SqlCommand中的参数列表cmd.Parameters.Clear();returnval;/<summary>/存储过程专用/</summary>/<paramname="cmdText">存储过程的名字</param>/<paramname="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>/<returns>返回一个

33、数彳I表示此SqlCommand命令执行后影响的行数</returns>publicstaticintExecteNonQueryProducts(stringcmdText,paramsSqlParameter口commandParameters)returnExecteNonQuery(DBT_SqlHelper.connectionString,CommandType.StoredProcedure,cmdText,commandParameters);/<summary>/Sql语句专用/</summary>/<paramname="

34、cmdText">T_Sql语句</param>/<paramname="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>/<returns>返回一个数彳I表示此SqlCommand命令执行后影响的行数</returns>publicstaticintExecteNonQueryText(stringcmdText,paramsSqlParameter口commandParameters)returnExecteNonQuery(DBT_S

35、qlHelper.connectionString,CommandType.Text,cmdText,commandParameters);#endregion/<summary>为执行命令准备参数</summary><param name="cmd"><param name="conn"><param name="trans"><param name="cmdType">SqlCommand 命令 </param>已经存在的数据库

36、连接</param>数据库事物处理</param> SqlCommand 命令类型(存储过程,T-SQL 语句, 等等。)</param>/<param name="cmdText">Command text , T-SQL 语句例如 Select * from Products</param>返回带参数的命令 </param>/<paramname="cmdParms">privatestaticvoidPrepareCommand(SqlCommandcmd,SqlC

37、onnectionconn,SqlTransactiontrans,CommandTypecmdType,stringcmdText,SqlParameter口cmdParms)/判断数据库连接状态if(conn.State!=ConnectionState.Open)conn.Open();cmd.Connection=conn;cmd.CommandText=cmdText;/判断是否需要事物处理if(trans!=null)cmd.Transaction=trans;cmd.CommandType=cmdType;if(cmdParms!=null)in cmdParms)foreach(SqlParameterparmcmd.Parameters.Add(parm);#endregion鱼知水恩,乃幸福之源也。鱼离不开水,人离不开亲人和朋友,当你处于逆境和灾难时,帮助你一臂之力,渡过难关的人,都是你的亲人和朋友。吃水不忘挖井人,度过苦难,不能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论