c# 执行mysql文件_使用C#执行MySQL的SQL文件

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

///

/// 执行Sql文件

///

/// sql文件

/// 连接字符串

///

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;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值