有一段代码例子,借鉴一下: cnn = New SqlConnection(strCnnYang)
dst = New DataSet()
cmd = New SqlCommand("getMyChangedwork", cnn)
cmd.Parameters.Add("@spotID", tempTable1.Rows(itemIndex).Item("工点ID"))
cmd.Parameters.Add("@workStyle", tempTable1.Rows(itemIndex).Item("工种").ToString.Trim)
cmd.Parameters.Add("@workDuty", tempTable1.Rows(itemIndex).Item("司职").ToString.Trim)
cmd.Parameters.Add("@userID", Session("userID").ToString.Trim)
cmd.Parameters.Add("@curMonth", Now.Month) '此处的月份值需要改动................
cmd.Parameters.Add("@curYear", Now.Year) cmd.CommandType = CommandType.StoredProcedure
ada = New SqlDataAdapter(cmd)
ada.Fill(dst, "myCurMonth")
Dim temptable2 As DataTable = dst.Tables("myCurMonth")
dst = New DataSet()
cmd = New SqlCommand("getMyChangedwork", cnn)
cmd.Parameters.Add("@spotID", tempTable1.Rows(itemIndex).Item("工点ID"))
cmd.Parameters.Add("@workStyle", tempTable1.Rows(itemIndex).Item("工种").ToString.Trim)
cmd.Parameters.Add("@workDuty", tempTable1.Rows(itemIndex).Item("司职").ToString.Trim)
cmd.Parameters.Add("@userID", Session("userID").ToString.Trim)
cmd.Parameters.Add("@curMonth", Now.Month) '此处的月份值需要改动................
cmd.Parameters.Add("@curYear", Now.Year) cmd.CommandType = CommandType.StoredProcedure
ada = New SqlDataAdapter(cmd)
ada.Fill(dst, "myCurMonth")
Dim temptable2 As DataTable = dst.Tables("myCurMonth")
public SqlDataReader GetUnitDetailsByID(int unitID)
{
SqlParameter[] parameters = { new SqlParameter("@UnitID",SqlDbType.Int,4)
};
parameters[0].Value = unitID;
Runpr xxx=new Runpr();
return xxx.RunProcedure( "sp_System_Unit_GetUnitDetailsByUnitID", parameters);
}
string CommandText = "CustOrdersDetail";
SqlConnection myConnection = new SqlConnection(ConnectionString);
SqlCommand myCommand = new SqlCommand(CommandText, myConnection);
SqlParameter workParam; myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.Add("@OrderId", SqlDbType.Int).Value = 11077; myConnection.Open(); DataSet ds = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
public static int ExecuteNonQuery(string SQL,IDataParameter[] parameters){
SqlConnection conn=GetConnection();
SqlCommand cmd=new SqlCommand(SQL,conn);
foreach(SqlParameter pr in parameters)
{
//SetParam(cmd.Parameters,pr.ParameterName,pr.Value);
cmd.Parameters.Add(pr); }
try
{
conn.Open();
return cmd.ExecuteNonQuery();
}
catch(Exception exp){throw exp;}
finally{conn.Close();}
}
最后提示是这样的:Exception Details: System.Data.SqlClient.SqlException: 过程 'p_wawa' 需要参数 '@id',但未提供该参数。
下面是主要代码
private void Page_Load(object sender, System.EventArgs e)
{
SqlParameter[]parameters={
new SqlParameter("@id",SqlDbType.Int,4)};
parameters[0].Value=Convert.ToInt32("41");
oa.cls.globalstate.RunSql("exec p_wawa",parameters);
}
这是那个静态方法的代码
public static int RunSql(string SQL,SqlParameter[] parameters)
{
SqlConnection conn=GetConnection();
SqlCommand cmd=new SqlCommand(SQL,conn);
foreach(SqlParameter pr in parameters)
{
cmd.Parameters.Add(pr); }
try
{
conn.Open();
return cmd.ExecuteNonQuery();
}
catch(Exception exp){throw exp;}
finally{conn.Close();}
}