存储过程:
create procedure Demo
@intDemoID int
asselect * from dbo.Demo where [id]=@intDemoIDgo在后台里怎么调用,并取得返回的记录集?
用SqlDataAdapter还是用SqlCommand对象?

解决方案 »

  1.   

    如果你的@intDemoID在txtID.txt
    connection打开
    SqlCommand cm = new SqlCommand("Demo",connection);
    cm.CommandType=CommandType.StoredProcedure;
    cm.Parameters.Add("@intDemoID",txtID.txt);
    cm.ExecuteNonQuery();
    connetction关掉
      

  2.   

    在要调用如下使用:dim conn as sqlconnection=new sqlconnection(你连接你SQL的语句,我这里不写了)
    dim cmd as sqlcommand=new sqlcommand("你存储过程的名字",conn)
    cmd.CommandType = CommandType.StoredProcedure
    cmd.Parameters.Add("@intDemoID", 你要加的ID)
    conn.Open()
    cmd.ExecuteNonQuery()这样就可以了
      

  3.   

    SqlDataAdapter,SqlCommand都用,因为要取数据集微软的函数,看看public static DataSet ExecuteDataset(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
    {
    if( transaction == null ) throw new ArgumentNullException( "transaction" );
    if( transaction != null && transaction.Connection == null ) throw new ArgumentException( "The transaction was rollbacked or commited, please provide an open transaction.", "transaction" ); // Create a command and prepare it for execution
    SqlCommand cmd = new SqlCommand();
    bool mustCloseConnection = false;
    PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection );
        
    // Create the DataAdapter & DataSet
    using( SqlDataAdapter da = new SqlDataAdapter(cmd) )
    {
    DataSet ds = new DataSet(); // Fill the DataSet using default values for DataTable names, etc
    da.Fill(ds);
        
    // Detach the SqlParameters from the command object, so they can be used again
    cmd.Parameters.Clear(); // Return the dataset
    return ds;
    }
    }
      

  4.   

    int demoId = 1; //在这里给demoId赋值,必须是int
    string connectionString = "server=localhost;database=pubs;uid=sa;pwd=sa";
    SqlConnection conn = new SqlConnection(connectionString);

    conn.Open();
    SqlCommand cmd = new SqlCommand("Demo",connectionString);
    cmd.CommandType=CommandType.StoredProcedure;
    cmd.Parameters.Add("@intDemoID",demoId );
    object i =  cmd.ExecuteScalar();//也可以用datasetconn.Close();
      

  5.   

    SqlCommand cmd = new SqlCommand("demo", conn);
    cmd.CommandType = CommandType.StoredProcedure; SqlParameter paramTblName = new SqlParameter("@intDemoID", SqlDbType.Int, 4);
    paramTblName.Value = strTblName;
    cmd.Parameters.Add(paramTblName);conn.open();
    SqlDataReader dr = cmd.Executereader();
    conn.close();
    dr里就是读出的数据。
      

  6.   

    ======SqlCommand=================================================
    SqlCommand cmd = new SqlCommand("demo", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    SqlParameter paramTblName = new SqlParameter("@intDemoID", SqlDbType.Int, 4);
    paramTblName.Value = strTblName;
    cmd.Parameters.Add(paramTblName);conn.open();
    SqlDataReader dr = cmd.Executereader(CommandBehavior.CloseConnection);myDataList.DataSource=dr;
    myDataList.DataBind();dr.Close();
    conn.Dispose();
    cmd.Dispose();==SqlDataAdapter====================================================
    DataSet ds=new DataSet();
    SqlDataAdapter cmd = new SqlDataAdapter("demo", conn);
    cmd.SelectCommand.CommandType = CommandType.StoredProcedure;SqlParameter p = new SqlParameter("@intDemoID", SqlDbType.Int, 4);
    p.Value = strTblName;
    cmd.SelectCommand.Parameters.Add(p);
    comd.Fill(ds);myDataList.DataSource=ds.Tables[0].DefaultView;
    myDataList.DataBind();cmd.Dispose();
      

  7.   

    我也凑热闹!
    -------------------------------------------------------------------------------
    -- add_org
    -------------------------------------------------------------------------------
    CREATE PROCEDURE add_org

    @account varchar(20)                ????
    @name           varchar(60)
    @contact        varchar(30)
    @contact_telvarchar(30)
    @contact_emailvarchar(30)
    @contact_addrvarchar(80)
    @postcodechar(6)
    @detailvarchar(500)
    @start_time   varchar(20)
    @reg_timevarchar(20)
    @managervarchar(30)
    @manager_telvarchar(30)
    @manager_emailvarchar(30)
    @org_sitevarchar(200)
    @passwordvarchar(20)
     
    )
    AS
        
         DECLARE @id  int-- new user
         DECLARE @CurrentError int
         
         SET NOCOUNT ON     BEGIN TRANSACTION
        -- insert into the USERS table
       Insert [group]
    (account,[name],contact,contact_tel,
    contact_email,contact_addr,postcode,
    detail,start_time,reg_time, manager,
    manager_tel,manager_email,org_site)
    values(@account,@name,@contact,@contact_tel,
    @contact_email,@contact_addr,@postcode,
    @detail,@start_time,@reg_time, @manager,
    @manager_tel,@manager_email,@org_site)Insert [login]
    (account,[password])values(@account,@password)   SELECT @CurrentError = @@Error
        IF @CurrentError != 0
            BEGIN
               GOTO ERROR_HANDLER
            END
       COMMIT TRANSACTION   SET NOCOUNT OFF   SELECT @id = @@IDENTITY
       RETURN @id    ERROR_HANDLER:
            ROLLBACK TRANSACTION
            SET NOCOUNT OFF    
            RETURN 0
    GOSQLSEVER 报告???
    处有错 说没有声明变量
    晕!!!
    帮忙看看