使用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#在VisualStudio中操作SQL数据库文件

1. 要在项目中添加一个基于服务的数据库或本地数据库文件; 2. 在代码执行开始先运行如下代码,否则数据库表中看不到执行的语句  string dataDir = AppD...

C#执行SQL脚本文件

方法一:osql.exe(这种方式最简单,但貌似微软以后会取消这个功能,改为SqlCmd了) 最简单的方法就是调用 osql.exe . 具体方法如下(以sql server200 数据库为例):...
  • fangjjj
  • fangjjj
  • 2017年03月06日 17:14
  • 1648

c# 十六进制字串 转 Byte数组

///Convert a string of hex digits (ex: E4 CA B2) to a byte array. ///The string containing the hex...

jqgrid删除多行数据问题

利用JQGrid删除多行数据:   所选中行号依次为 1、2、4   利用FireBug 查看由 js 动态生成的 html 标签可以验证:   ...
  • wd4java
  • wd4java
  • 2015年05月30日 13:32
  • 1537

c#生成大数据量sql文件_MySql

void Form1_Load(object sender, EventArgs e) { StringBuilder strSql = new StringB...
  • MrTraum
  • MrTraum
  • 2014年03月15日 16:26
  • 777

mysql批量执行sql文件批处理

  • 2016年03月15日 13:49
  • 907B
  • 下载

MySql中执行SQL文件.rar

  • 2010年06月06日 07:59
  • 231KB
  • 下载

Mysql 将结果保存到文件 从文件中执行sql语句 记录操作过程(tee 命令的使用)

1.  有时候我们可能需要记录我们对mysql的操作过程,这时我们可以使用mysql的tee命令              1)第一种情况是在链接数据库的时候使用tee              ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用C#执行MySQL的SQL文件
举报原因:
原因补充:

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