有一段代码例子,借鉴一下:         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")

解决方案 »

  1.   

    给你参考一下
    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);
    }
      

  2.   

    一个存储过程的简单例子        string ConnectionString = "server=(local);database=Northwind;trusted_connection=true";        // TODO: Updatd the name of the Stored Procedure for your application
            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);
      

  3.   

    看看我这个
    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();}
    }
      

  4.   

    怎么传递不过来parameters参数呀,
    最后提示是这样的: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();}
    }