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
{
();
}
}
}
配置文件内容如下:
调用方法如下:
private void button1_Click(object sender, EventArgs e)
{
try
{//告诉文件路径即可
if (eSqlFile(ng() +
""))
{
("SQL语句被执行!");
}
else
{
("操作失败!");
}
}
catch (Exception ex)
{
(ng());
}
}


发布评论