- 爱易网页
-
C#教程
- 一个公共的CS类,怎么动态的给它提供参数
日期:2014-05-18 浏览次数:20818 次
一个公共的CS类,如何动态的给它提供参数
这个S1.CS类文件代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// 这个类的作用就是查询数据库,并调出数据。但是查询条件是根据引用的文件不同而变化的,也就是说,这里的“InsertID”是在外部设置的。
/// </summary>
public class s1
{
public int InsertID;
public Boolean getChecked;
protected SqlConnection getConnCreate()
{
string getConnettions = System.Configuration.ConfigurationManager.ConnectionStrings["webTextconnetionSting"].ToString();
SqlConnection connet = new SqlConnection(getConnettions);
return connet;
}
public s1()
{
SqlConnection getConn = getConnCreate();
getConn.Open();
SqlCommand selectDataComm = new SqlCommand("selectDataCeshi", getConn);
selectDataComm.CommandType = CommandType.StoredProcedure;
// selectDataComm.Parameters.Add("@getDataValues", SqlDbType.Bit);
//selectDataComm.Parameters["@getDataValues"].Direction = ParameterDirection.Output;
SqlParameter para= new SqlParameter("@getDataValues", SqlDbType.Bit);
para.Direction = ParameterDirection.Output;
selectDataComm.Parameters.Add(para);
SqlParameter para1 = new SqlParameter("@getUsrName", SqlDbType.NVarChar, 50);
para1.Direction = ParameterDirection.Output;
selectDataComm.Parameters.Add(para1);
SqlParameter para2 = new SqlParameter("@getId",SqlDbType.Int);
para2.Direction = ParameterDirection.Input;//外部设置的参数
selectDataComm.Parameters.Add(para2);
//para2.DbType = DbType.Int32;
//Boolean getChecked = Convert.ToBoolean(selectDataComm.Parameters.Add("@getDataValues", SqlDbType.Bit).Value);
selectDataComm.ExecuteNonQuery();
para2.Value = InsertID;
getChecked = Convert.ToBoolean(para.Value);
getConn.Close();
}
}
外部调用文件代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
s1 getSl = new s1();
getSl.InsertID = 1;
chkBoxXianShi.Checked = getSl.getChecked;
}
}
}
错误如下:
过程或函数 'selectDataCeshi' 需要参数 '@getId',但未提供该参数
其中存储过程代码如下:
ALTER PROCEDURE selectDataCeshi
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
@getDataValues bit output,
@getUsrName nvarchar(50) output,