比如我的程序吧..几乎每一个窗体..都得写一条连接语句..那么..可不可以只写一条..就能搞定所有的呢..还有..我写的都是连接的物理路径的..就是在安装程序时必须手动的将数据库放到固定的路径下..可不可以连接任意的数据库..怎样连???还有数据库打包..怎样打..各位大虾..我找了好久了..郁闷的快死啦...救救我吧!!!
呵呵,给你翻译一哈。
"怎么写啊"。。。。。。。
恩。。。。。
给你写一个。。。。。.
(数据层SqlHelper)
public class SqlHelper
{
public static readonly string ConnStr = "server=IP地址;uid=用户名;pwd=密码;database=数据库名";
public static void FillDataTable(string sql, DataTable dt, params SqlParameter[] param)
{
using (SqlConnection cn = new SqlConnection(ConnStr))
{
SqlDataAdapter ada = new SqlDataAdapter(sql, cn);
foreach(SqlParameter p in param)
ada.SelectCommand.Parameters.Add(p);
ada.Fill(dt);
}
}
}
(业务层的类City )
SqlHelper sqlhelper=new SqlHelper(); //事例话数据层的类
FLIGHT_PARAMS="exec SelectFlightByParams @0,@1,@2,@3";//sql语句
public DataTable GetSelectFlightByParams(string 参数1,string 参数2,string 参数3,string 参数4)
{
DataTable dt = new DataTable();
sqlhelper.FillDataTable(SQL_SELECT_SELECTFLIGHT_PARAMS, dt,
new SqlParameter("@0",参数1),
new SqlParameter("@1",参数2),
new SqlParameter("@2",参数3),
new SqlParameter("@3",参数4)
);
return dt;
}
(创建显示层的类又称界面层)
City selectcity = new City(); //事例话逻辑层的类
string hbstartcity=this.ddliststartcity.SelectedItem.Text; //起飞城市
string hbarrivalcity=this.ddlistarrivalcity.SelectedItem.Text;//到达城市
string hbstarttime=this.mintime.Text; //最小时间
string hbarrivaltime=Convert.ToDateTime(this.maxtime.Text).AddHours(24).ToString(); //最大时间
//调用存曙过程进行
this.DGfight.DataSource=selectcity.GetSelectFlightByParams(hbstartcity,hbarrivalcity,hbstarttime,hbarrivaltime); //调用业务层的类的方法进行传值(有四个参数分别传值)