日期:2014-05-18  浏览次数:20627 次

这个类怎么写呢?(初学者)
经常要用到连接数据库啊.然后再SqlCommand啊,这些.我现在想做成一个类.然后直接new就可以用了.
------------------
string   Sql= "select   *   from   ..... ";
SqlConnection   conn=new   SqlConnection( "//里面省略 ");
SqlCommand   cmd=new   SqlCommand(Sql,conn);
SqlDataReader   sdr=cmd.ExecuteReader();
this.DataList1.DataSource=sdr;
this.DataList1.DataBind();
sdr.Close();
conn.Close();
------------------
我就是想把上面的做成一个类.然后只要传几个参数就可以了.谁帮我看下,应该怎么写?谢谢!

PS:我开始的时候写了一个出来.但是当我conn.Close();的时候老提示说SqlConnection不能继承.这是怎么回事呢?谢谢!!


------解决方案--------------------
public class DataBinder(string sql,Control C)
{
SqlConnection conn=new SqlConnection( "//里面省略 ");
SqlCommand cmd=new SqlCommand(Sql,conn);
SqlDataReader sdr=cmd.ExecuteReader();
this.C.DataSource=sdr;
this.C.DataBind();
sdr.Close();
conn.Close();
}

添加新项---类----是否放在“”文件夹下----是-----打开类“类名假设为Cls”-----把上面代码复制粘贴在 public class Cls{}的上面,这里是上面哦,不是里面

引用的时候直接用类名DataBinder()
------解决方案--------------------
晕,不好意思,上面的没有写完,居然就发表了.又不能编辑贴子.再发一次.
public dataset selectDB(string sql)
{
SqlConnection conn=new SqlConnection( "//里面省略 ");
SqlCommand cmd=new SqlCommand(Sql,conn);
SqlDataReader sdr=cmd.ExecuteReader();
sdr.Close();
conn.Close();
}

一般都不要在数据连接类里面,放表示层的控件代码.
------解决方案--------------------
1.
应该先深入学习 C# 类设计相关知识再动手,不要闷头就编码

2.
既然是初学者,就耐着性子,一步步来,多尝试几次手动操作 ADO.NET, 有助于你更好理解
ADO.NET 的相关操作

3.
关于封装 ADO.NET , SqlHelper 是一个很好的学习 Demo
相关下载页面:
Data Access Application Block for .NET http://www.microsoft.com/china/MSDN/library/EnterpriseDevelopment/BuildDistApp/Vsdnbdadaab_rm.mspx?mfr=true