这是一个数据访问层文件,我没发现有什么构造函数有什么用啊
namespace OldPhotosDAL
{
public class W_OldPhotos
{
public W_OldPhotos()
{ }
#region 成员方法
/// <summary>
/// 增加一条投票数据
/// </summary>
public int AddVoteList(OldPhotosModel.W_OldPhotos_VoteList model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into W_OldPhotos_VoteList(");
strSql.Append("UID,PID)");
strSql.Append(" values (");
strSql.Append("@UID,@PID)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@UID", SqlDbType.NVarChar,100),
new SqlParameter("@PID", SqlDbType.Int,4)
};
parameters[0].Value = model.UID;
parameters[1].Value = model.PID;
object obj = DbHelperSQLl.GetSingle(strSql.ToString(), parameters);
if (obj == null)
{
return 1;
}
else
{
return Convert.ToInt32(obj);
}
}
}
2 回答

TA贡献1571条经验 获得超4个赞
SqlParameter[] parameters = {
new SqlParameter("@UID", SqlDbType.NVarChar,100),
new SqlParameter("@PID", SqlDbType.Int,4)
};
你代码里就有一个有用的例子
在你实例话SQLPARAMETERS的时候,构造函数当中传递了3个参数,可以直接对对象的属性赋值,当然了,你也可以用对象.属性=的形式去完成赋值!
举例说明一下吧,当你需要用到一个用于数据访问的底层抽象类的时候,一个业务当中需要用到多个数据库联系起来,那么你怎么做到让这个底层类去支持动态的配置连接字符串?
这个时候你就可以采用订制一个类的静态字段,然后构造函数当中对这个字段赋值,那么当你访问这个对象的时候,就可以使用你想要的字符连接串了!
public class demo
{
private static string connstr;
public demo(string str)
{
this.connstr=str;
}
\\用于访问数据库的静态方法
}
用的时候就
demo dm=new demo("连接字符串")
dm.方法
这个样子的!构造函数的功用只能说在通常的应用当中被发现的。。。。当然了可能我举的例子不全面,写的多了,你就会发现以后太多的地方需要用到这个东西了,多多理解面向对象的含义吧!
至于你说的那个空构造函数,那个是默认的,你就是删了,编译器也会为你加上去,你的程序执行的时候并不是执行.CS文件,而是CS文件被编译后的程序集,你可以反编译出来你的DLL,就可以看到虽然.CS文件中没有默认构造函数,编译后也会被加上去的!
- 2 回答
- 0 关注
- 4 浏览
添加回答
举报