给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
2010-11-18 22:54
836 查看
功能很简单,从脚本文件,一行行读取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();
运行效果如下:
代码就不提供下载了,需要的朋友,麻烦您自己复制粘贴一下,刚学习入门的朋友,也可以参考一下,蛮实用的一个功能。
数据库访问组件的源码,请从下面的连接下载。
B: 走火入魔系统架构导读
大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(零)数据库访问层
导读:
疯狂.NET架构通用权限后台管理工具演示版2.0下载
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级管理
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级授权
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 数据集权限
淘宝店地址:
http://shop59297253.taobao.com/
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
posted on 2009-12-17 15:15 不仅仅是通用权限设计 阅读(864) 评论(8) 编辑 收藏
#1楼 回复 引用 查看 沙发抢了。
2009-12-17 15:19 | 清海扬波
可惜,这个是 新手区, 候选去的,没几个人会看的。
2009-12-17 15:21 | 吉日嘎拉>不仅权限设计
2009-12-19 13:00 | 阿水
1 //------------------------------------------------------------
2 // All Rights Reserved , Copyright (C) 2009 , Jirisoft , Ltd.
3 //------------------------------------------------------------
和
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>
这两块代码是自动产生的还是自己手写的?
2009-12-21 18:32 | flyskylf
一些底层的是代码生成器生成的,页面上的,是自己复制粘贴上来的,
当然也可以在c#里做一个模板的。
2009-12-21 19:00 | 吉日嘎拉>不仅权限设计
某些时候,sql需要换行才看的清楚,尤其是字段多的时候。如果某个sql语句换行写了,就要over了。
比如:
select
***
from
***
where
***
或者
Insert into ****
Values******
2009-12-22 13:32 | sky&fly[未注册用户]
那还不如说,碰到 unix 了,这c#写的程序还不能运行好了,呵呵,更干脆一些,这只是例子程序而已。
中间用 Go 来区别就可以了。
代码如下:
代码
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();
运行效果如下:
代码就不提供下载了,需要的朋友,麻烦您自己复制粘贴一下,刚学习入门的朋友,也可以参考一下,蛮实用的一个功能。
数据库访问组件的源码,请从下面的连接下载。
B: 走火入魔系统架构导读
大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(零)数据库访问层
导读:
疯狂.NET架构通用权限后台管理工具演示版2.0下载
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级管理
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级授权
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 数据集权限
淘宝店地址:
http://shop59297253.taobao.com/
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
posted on 2009-12-17 15:15 不仅仅是通用权限设计 阅读(864) 评论(8) 编辑 收藏
评论
1755150#1楼 回复 引用 查看 沙发抢了。
2009-12-17 15:19 | 清海扬波
#2楼[楼主] 回复 引用 查看
@清海扬波可惜,这个是 新手区, 候选去的,没几个人会看的。
2009-12-17 15:21 | 吉日嘎拉>不仅权限设计
#3楼 回复 引用 查看
很好很强大2009-12-19 13:00 | 阿水
#4楼 回复 引用 查看
请教下吉日:1 //------------------------------------------------------------
2 // All Rights Reserved , Copyright (C) 2009 , Jirisoft , Ltd.
3 //------------------------------------------------------------
和
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>
这两块代码是自动产生的还是自己手写的?
2009-12-21 18:32 | flyskylf
#5楼[楼主] 回复 引用 查看
@flyskylf一些底层的是代码生成器生成的,页面上的,是自己复制粘贴上来的,
当然也可以在c#里做一个模板的。
2009-12-21 19:00 | 吉日嘎拉>不仅权限设计
#6楼 回复 引用
streamReader.ReadLine();某些时候,sql需要换行才看的清楚,尤其是字段多的时候。如果某个sql语句换行写了,就要over了。
比如:
select
***
from
***
where
***
或者
Insert into ****
Values******
2009-12-22 13:32 | sky&fly[未注册用户]
#7楼[楼主] 回复 引用 查看
@sky&fly那还不如说,碰到 unix 了,这c#写的程序还不能运行好了,呵呵,更干脆一些,这只是例子程序而已。
中间用 Go 来区别就可以了。
相关文章推荐
- 给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
- 给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
- 给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
- 如何在 db2 管理器中执行一个包含 sql 语句的脚本文件
- java程序执行SQL脚本文件
- 如何执行一个mysql的sql脚本文件
- 执行SQL语句脚本文件
- 如何执行一个mysql的sql脚本文件
- 如何在C#中用程序执行指定的SQL脚本文件,实现自动安装创建数据库
- 执行SQL语句脚本文件
- 获取隐含参数, 当前trace文件名称,sql语句的执行计划的脚本
- oracle下如何执行一个本地的.sql脚本文件
- 得用SQL语句生成某个库下所有存储过程脚本,并每个存为一个文件
- Delphi 7 在程序中直接执行SQL脚本文件
- Shell脚本执行hive语句 | hive以日期建立分区表 | linux schedule程序 | sed替换文件字符串 | shell判断hdfs文件目录是否存在
- 怎么用批处理*.bat 执行文件目录下面的SQL语句脚本(批量的)。。。@echo off是什么意思?
- 两台硬件和软件配置完全相同的机器A和B,现在要用系统自带的Copy功能把A上的一个文件,复制到B上。在哪台机器上执行程序,效率更高?
- 如何执行一个mysql的sql脚本文件
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等,需要的朋友可以参考下。
- java程序执行SQL脚本文件