给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考...

功能很简单,从脚本文件,一行行读取SQL语句,然后执行。
代码如下: 
代码
 1  // ------------------------------------------------------------
 2  //  All Rights Reserved , Copyright (C) 2009 , Jirisoft , Ltd. 
 3  // ------------------------------------------------------------
 4 
 5  using  System;
 6  using  System.Collections.Generic;
 7  using  System.Web;
 8  using  System.Web.UI;
 9  using  System.Web.UI.WebControls;
10  using  System.Configuration;
11  using  System.Web.Security;
12  using  System.IO;
13  using  System.Data;
14 
15  namespace  JiriSoft.Permission
16  {
17       using  DotNet.Common;
18       using  DotNet.Common.Utilities;
19       using  DotNet.Common.DbUtilities;
20       using  DotNet.Common.Model;
21       using  DotNet.Common.Business;
22       using  DotNet.Common.Service;
23 
24       ///   <remarks>
25       ///  LoadSqlScript
26       ///  
27       ///  修改纪录
28       ///  
29       ///     版本:1.0 2009.12.17    JiRiGaLa    创建。
30       ///     
31       ///  版本:1.0
32       ///   <author>
33       ///          <name> JiRiGaLa </name>
34       ///          <date> 2009.12.17 </date>
35       ///   </author>  
36       ///   </remarks>
37       public   partial   class  LoadSqlScript : System.Web.UI.Page
38      {
39           protected   void  Page_Load( object  sender, EventArgs e)
40          {
41               //  执行脚本
42               this .ExecuteSql();
43          }
44 
45           ///   <summary>
46           ///  执行数据库脚本
47           ///   </summary>
48           private   void  ExecuteSql()
49          {
50               //  通过接口定义,打开一个数据库
51              IDbHelper dbHelper  =   new  SqlHelper();
52               //  按指定的数据库连接串,打开数据库连接
53              dbHelper.Open( " Data Source=JIRIGALA-PC\\SQLEXPRESS;Initial Catalog=DataCenter;Integrated Security=SSPI; " );
54 
55               //  读取指定的脚本文件
56              StreamReader streamReader  =   new  StreamReader(Server.MapPath( " Script.sql " ));
57              String sqlQuery  =  String.Empty;
58               //  循环读取文本文件
59               while  (sqlQuery  !=   null )
60              {
61                  sqlQuery  =  streamReader.ReadLine();
62                   if  (sqlQuery  !=   null )
63                  {
64                       //  执行数据库查询语句
65                       this .ExecuteSql(dbHelper, sqlQuery);
66                  }
67              }
68               //  关闭文件流
69              streamReader.Close();
70               //  关闭数据库连接
71              dbHelper.Close();
72          }
73 
74           ///   <summary>
75           ///  执行SQL语句
76           ///   </summary>
77           ///   <param name="dbHelper"> 数据库连接 </param>
78           ///   <param name="sql"> 查询语句 </param>
79           private   void  ExecuteSql(IDbHelper dbHelper, String sqlQuery)
80          {
81              String returnValue  =  dbHelper.ExecuteScalar(sqlQuery).ToString();
82               //  显示执行的SQL语句
83              Page.Response.Write( " sqlQuery: "   +  sqlQuery  +   " <br> " );
84               //  显示执行的返回值
85              Page.Response.Write(returnValue  +   " <br><br><br> " );
86          }
87      }
88  }
 
 
脚本文件如下:
1  SELECT MAX(id) FROM BASE_USER;
2  SELECT NEWID();
3  SELECT GETDATE();
 
 
运行效果如下:
 
代码就不提供下载了,需要的朋友,麻烦您自己复制粘贴一下,刚学习入门的朋友,也可以参考一下,蛮实用的一个功能。
 
数据库访问组件的源码,请从下面的连接下载。




本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/448246,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值