日期:2014-05-20  浏览次数:21045 次

请问c#如何读取 *.sql文件中的存储过程,并运行
请教:
存储过程不在数据库中,但有脚本文件*.sql,请问,在程序中应该怎么才能读取并运行啊?

------解决方案--------------------
直接读出来,当string给commandtext
------解决方案--------------------
SqlCommand pxbcmd=new SqlCommand( "ztjpxb ",sqlConnection1);
pxbcmd.CommandType=CommandType.StoredProcedure;
SqlDataAdapter pxbda=new SqlDataAdapter(pxbcmd);
DataSet pxbds=new DataSet();
pxbda.Fill(pxbds, "book ");
“ztpxb”是存储过程名;


SqlCommand xzscmd=new SqlCommand( "showbook ",sqlConnection1);
xzscmd.CommandType = CommandType.StoredProcedure;
SqlParameter xzsParam = new SqlParameter( "@sh ", System.Data.SqlDbType.Char);
//@SN为存储过程中的参数
xzsParam.Direction = ParameterDirection.Input;
xzsParam.Value=Session[ "selectbook "].ToString();//参数值
xzscmd.Parameters.Add(xzsParam);
SqlDataAdapter xzsda=new SqlDataAdapter(xzscmd);
DataSet xzsds=new DataSet();
xzsda.Fill(xzsds, "book ");
这是有代参数 "showbook "同样也是存储过程名。

------解决方案--------------------
的确如此 当文本文档直接读就Ok了
------解决方案--------------------
就当文本读取到一个字符串变量中,直接调用对象执行就是了
不过,保存成文本何不直接保存在数据库中呢?
------解决方案--------------------
可能有时候是对原来系统升级吧,这样就不需要换数据库了,这问题我以前也碰到过啊,就是这样的啦啊~