当前位置:编程学习 > C#/ASP.NET >>

编译器错误消息: CS1729: “MSetting_Site”不包含采用“4”参数的构造函数

“/Answerb2c”应用程序中的服务器错误。
--------------------------------------------------------------------------------

编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误消息: CS1729: “MSetting_Site”不包含采用“4”参数的构造函数

源错误:

 

行 59: if (Dr.Read())
行 60: {
行 61: mSetting_Site = new MSetting_Site(
行 62: id
行 63: ,Dr.IsDBNull(0) ? "":Dr.GetString(0)
 

源文件: d:\wwwroot\Answerb2c\Answer30empty\App_Code\Data\Interface\ISetting_Site.cs    行: 61  --------------------编程问答-------------------- using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
public class ISetting_Site
{
public ISetting_Site()
{
}
SqlHelper SH = new SqlHelper();
public void Add(string Site,string Copyright,string ICP)
{string SQL = "INSERT INTO Setting_Site (Site,Copyright,ICP) VALUES (@Site,@Copyright,@ICP)";
SqlParameter[] Parms = { 
new SqlParameter("@Site", SqlDbType.NVarChar)
,new SqlParameter("@Copyright", SqlDbType.NVarChar)
,new SqlParameter("@ICP", SqlDbType.NVarChar)
};
Parms[0].Value = Site;
Parms[1].Value = Copyright;
Parms[2].Value = ICP;
SH.Open();
SH.ExecuteNonQuery(SQL, Parms);
SH.Close();
}

public void Upd(int id,string Site,string Copyright,string ICP)
{string SQL = "UPDATE Setting_Site SET Site=@Site,Copyright=@Copyright,ICP=@ICP WHERE id=@id";
SqlParameter[] Parms = { 
new SqlParameter("@id", SqlDbType.Int)
,new SqlParameter("@Site", SqlDbType.NVarChar)
,new SqlParameter("@Copyright", SqlDbType.NVarChar)
,new SqlParameter("@ICP", SqlDbType.NVarChar)
};
Parms[0].Value = id;
Parms[1].Value = Site;
Parms[2].Value = Copyright;
Parms[3].Value = ICP;
SH.Open();
SH.ExecuteNonQuery(SQL, Parms);
SH.Close();
}

public void Del(int id)
{string SQL = "DELETE FROM Setting_Site WHERE id=@id";
SqlParameter Parm = new SqlParameter("@id",SqlDbType.Int);
Parm.Value = id;
SH.Open();
SH.ExecuteNonQuery(SQL, Parm);
SH.Close();
}

public MSetting_Site GetRecord(int id)
{MSetting_Site mSetting_Site = null;
string SQL = "SELECT Site,Copyright,ICP FROM Setting_Site WHERE id=@id";
SqlParameter Parm = new SqlParameter("@id",SqlDbType.Int);
Parm.Value = id;
SH.Open();
SqlDataReader Dr = SH.ExecuteReader(SQL, Parm);
if (Dr.Read())
{
mSetting_Site = new MSetting_Site(
id
,Dr.IsDBNull(0) ? "":Dr.GetString(0)
,Dr.IsDBNull(1) ? "":Dr.GetString(1)
,Dr.IsDBNull(2) ? "":Dr.GetString(2)
);
}
Dr.Close();
Dr.Dispose();
SH.Close();
return mSetting_Site;
}

public int GetRecordsCount(string FilterStr)
{
return SH.ExecuteCount("Setting_Site", FilterStr);
}

public List<MSetting_Site> GetRecordsByFilter(string FilterStr, string OrderBy)
{
List<MSetting_Site> Records = new List<MSetting_Site>();
string SQL = "SELECT id,Site,Copyright,ICP FROM Setting_Site "+(FilterStr.Length > 0 ? " WHERE " + FilterStr : "") + " ORDER BY " +(OrderBy.Length > 0 ? OrderBy : "id DESC");
SH.Open();
SqlDataReader Dr = SH.ExecuteReader(SQL);
while (Dr.Read())
{
MSetting_Site Record = new MSetting_Site(
Dr.IsDBNull(0) ? 0:Dr.GetInt32(0)
,Dr.IsDBNull(1) ? "":Dr.GetString(1)
,Dr.IsDBNull(2) ? "":Dr.GetString(2)
,Dr.IsDBNull(3) ? "":Dr.GetString(3)
);
Records.Add(Record);
}
Dr.Close();
Dr.Dispose();
SH.Close();
return Records;
}

public List<MSetting_Site> GetRecordsByPagination(int PageNo, int PageNum, string FilterStr, string OrderBy)
{
List<MSetting_Site> Records = new List<MSetting_Site>();
int WippOff = (PageNo - 1) * PageNum;
if (WippOff < 0)
{
WippOff = 0;
}
string SQL = "SELECT TOP " + PageNum + " id,Site,Copyright,ICP " +
"FROM Setting_Site " +
"WHERE " +
(FilterStr.Length > 0 ? FilterStr + " AND " : "") +
"id NOT IN " +
"(" +
"SELECT TOP " + WippOff + " id FROM Setting_Site" +
(FilterStr.Length > 0 ? " WHERE " + FilterStr : "") +
" ORDER BY " +
(OrderBy.Length > 0 ? OrderBy : "id DESC") +
")" +
" ORDER BY " +
(OrderBy.Length > 0 ? OrderBy : "id DESC");
SH.Open();
SqlDataReader Dr = SH.ExecuteReader(SQL);
while (Dr.Read())
{
MSetting_Site Record = new MSetting_Site(
Dr.IsDBNull(0) ? 0:Dr.GetInt32(0)
,Dr.IsDBNull(1) ? "":Dr.GetString(1)
,Dr.IsDBNull(2) ? "":Dr.GetString(2)
,Dr.IsDBNull(3) ? "":Dr.GetString(3)
);
Records.Add(Record);
}
Dr.Close();
Dr.Dispose();
SH.Close();
return Records;
}

}

--------------------编程问答-------------------- 61   行 所在处 :


SqlDataReader Dr = SH.ExecuteReader(SQL, Parm);
if (Dr.Read())
{
mSetting_Site = new MSetting_Site(
id
,Dr.IsDBNull(0) ? "":Dr.GetString(0)
,Dr.IsDBNull(1) ? "":Dr.GetString(1)
,Dr.IsDBNull(2) ? "":Dr.GetString(2)
);
} --------------------编程问答-------------------- public MSetting_Site GetRecord(int id) 就一个参数 
你传了四个. --------------------编程问答-------------------- 你的MSetting_Site有4个参数的构造函数吗?

MSetting_Site(int id,string s1,string s2,string s3){

} --------------------编程问答-------------------- 还是不行啊    请 提供解决方案吧
--------------------编程问答--------------------
引用 3 楼 pdsnet 的回复:
public MSetting_Site GetRecord(int id) 就一个参数 
你传了四个.


这不是给你把答案都说了么 --------------------编程问答-------------------- 你Ctrl+Shift+B编译看下  因该直接会给你报错的 --------------------编程问答-------------------- 添加四个参数的构造函数
--------------------编程问答-------------------- public MSetting_Site GetRecord(int id)
{MSetting_Site mSetting_Site = null;
string SQL = "SELECT Site,Copyright,ICP FROM Setting_Site WHERE id=@id";
SqlParameter Parm = new SqlParameter("@id",SqlDbType.Int);
Parm.Value = id;
SH.Open();
SqlDataReader Dr = SH.ExecuteReader(SQL, Parm);
if (Dr.Read())
{
mSetting_Site = new MSetting_Site(
id
,Dr.IsDBNull(0) ? "":Dr.GetString(0)
,Dr.IsDBNull(1) ? "":Dr.GetString(1)
,Dr.IsDBNull(2) ? "":Dr.GetString(2)
);
}

应该如何改写?????????????

MSetting_Site(int id,string s1,string s2,string s3){

}  这样不行



--------------------编程问答-------------------- ??????????????? --------------------编程问答-------------------- --------------------编程问答--------------------
public void test(int id,string aa,strnig bb,string cc)
{
 MSetting_Site GetRecord(int id)
}

调 test ;

你 要保证 参数个数一致. --------------------编程问答-------------------- --------------------编程问答-------------------- 那我  代码中 应该怎样修改??? --------------------编程问答-------------------- 顶一下 我也是这个原因
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,