2024年2月20日发(作者:)

C#执行SQL脚本,读取XML文件

需要添加如下引用:

using ;

using ent;

using tions;

using ;

GoSql类如下:

class GoSql

{

private static string ConStr = "";

private static string ConString//这里读取XML配置文件可以借鉴

{

get

{

if (ConStr == "")

{

try

{

XmlDocument doc = new XmlDocument();

("");//这里是所执行的SQL服务器配置XML路径

string userid =

SingleNode("ServerConfig/UserId").InnerText;

string password =

SingleNode("ServerConfig/PassWord").InnerText;

string servername =

SingleNode("ServerConfig/ServerName").InnerText;

string database =

SingleNode("ServerConfig/DataBase").InnerText;

ConStr = "server = " + servername + ";uid = "

+ userid + ";pwd = " + password + ";database = " + database;

}

catch (Exception ex)

{

throw ex;

}

}

return ConStr;

}

}

private static SqlConnection Con;

public static SqlConnection MyConnection

{

get

{

if (Con == null)

{

Con = new SqlConnection(ConString);

}

return Con;

}

}

public static bool ExecuteSqlFile(string varFileName)

{

if (!(varFileName))

{

return false;

}

StreamReader rs = new StreamReader(varFileName,

t);//注意编码

ArrayList alSql = new ArrayList();

string commandText = "";

string varLine = "";

while (() > -1)

{

varLine = ne();

if (varLine == "")

{

continue;

}

if (varLine != "GO")

{

commandText += varLine;

commandText += "rn";

}

else

{

commandText += "";

}

}

(commandText);

();

try

{

ExecuteCommand(alSql);

return true;

}

catch (Exception ex)

{

throw ex;

}

}

private static void ExecuteCommand(ArrayList varSqlList)

{

();

SqlTransaction varTrans = ransaction();

SqlCommand command = new SqlCommand();

tion = MyConnection;

ction = varTrans;

try

{

foreach (string varcommandText in varSqlList)

{

dText = varcommandText;

eNonQuery();

}

();

}

catch (Exception ex)

{

ck();

throw ex;

}

finally

{

();

}

}

}

配置文件内容如下:

192.168.0.68

lanxi_stgylmis

sa

sa

调用方法如下:

private void button1_Click(object sender, EventArgs e)

{

try

{//告诉文件路径即可

if (eSqlFile(ng() +

""))

{

("SQL语句被执行!");

}

else

{

("操作失败!");

}

}

catch (Exception ex)

{

(ng());

}

}