使用C#执行MySQL的SQL文件

翻译 2011年10月18日 17:12:52

最近的一个项目,需要在初始化时建库及建表,因为建表的SQL语句是从MySQL中导出的,所以在建库之后,需要执行导出的Sql语句实现建表及插入数据。方法如下:

        /// <summary> 
        /// 执行Sql文件 
        /// </summary> 
        /// <param name="varFileName">sql文件</param> 
        /// <param name="Conn">连接字符串</param> 
        /// <returns></returns> 
        private bool ExecuteSqlFile(string varFileName, String Conn)
        {
            using (StreamReader reader = new StreamReader(varFileName, System.Text.Encoding.GetEncoding("utf-8")))
            {
                MySqlCommand command;
                MySqlConnection Connection = new MySqlConnection(Conn);
                Connection.Open();
                try
                {
                    string line = "";
                    string l;
                    while (true)
                    {
                        // 如果line被使用,则设为空
                        if (line.EndsWith(";"))
                            line = "";

                        l = reader.ReadLine();

                        // 如果到了最后一行,则退出循环
                        if (l == null) break;
                        // 去除空格
                        l = l.TrimEnd();
                        // 如果是空行,则跳出循环
                        if (l == "") continue;
                        // 如果是注释,则跳出循环
                        if (l.StartsWith("--")) continue;

                        // 行数加1 
                        line += l;
                        // 如果不是完整的一条语句,则继续读取
                        if (!line.EndsWith(";")) continue;                       
                        if (line.StartsWith("/*!"))
                        {
                            continue;
                        }

                        //执行当前行
                        command = new MySqlCommand(line, Connection);
                        command.ExecuteNonQuery();
                    }
                }
                finally
                {
                    Connection.Close();
                }
            }

            return true; 
        }


相关文章推荐

C# 执行Mysql数据库脚本 创建数据库和表

C# 执行Mysql数据库脚本 创建数据库和表 开发过程中可能需要将数据库导入到生产库中,我们可以通过Mysql workbench将数据库导出成sql文件,然后在C#代码中直接执行sql脚本,创建相...

C#中如何连接数据库并执行SQL语句

开发工具:Visual Studio 2012数据库: SQL Server 2012使用Visual Studio时还是直接和微软自家的SQL Server数据库连接比较方便,就像使用Eclip...

存储过程和SQL语句比较及存储过程在C#中调用方法

做为SQL存储过程和.NET的新手,下面的指导还是很有用的,自己这一段刚刚接触这些东西,搜集了一些相关的东西,能使新手较容易上手,当然啦, 要精通和熟练应用,还是要看更多更深的资料的,高手请不要见笑...
  • FG2006
  • FG2006
  • 2011-04-08 21:02
  • 2407

C#之执行SQL语句:Command对象

在使用ADO.NET中的连接数据库:Connection对象连接上数据库之后,我们下面所做的就是对数据库中的数据进行操作。在ADO.NET中,是通过执行SQL语句:Command对象来对数据进行操作。...

C#调用mysql查询存储过程

废话不多说,最近做了一个mysql的查询的存储过程,现在主要给大家看的是dao部分和存储过程的生成和使用,其他部分不太重要。 首先先看表,主要有两张表,一张是订单表,一张是车票表,两者是一对多的关系,...

c# vs2013+sql2008r2 直接执行.sql脚本文件

c# vs2013+sql2008r2 直接执行.sql脚本文件怎样把.sql脚本文件能想在SSM中执行的脚本一样,这样我们就可以在程序中调用不同脚本执行后续的需求就不需要改动代码,同时也可以给非程序...

C#读取.sql文件并执行文件中的sql

有些时候我们需要在程序中编写读取sql脚本文件并执行这些sql语句,但是我们在有些时候会遇到读出来的sql语句不能执行,其实不能执行并不是你的sql脚本文件有错误,而是去执行sql语句的时候,而是C#...

C#执行SQL脚本文件

方法一:osql.exe(这种方式最简单,但貌似微软以后会取消这个功能,改为SqlCmd了) 最简单的方法就是调用 osql.exe . 具体方法如下(以sql server200 数据库为例):...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)