none
vs2010 里 SqlDataAdapter 怎么使用存储过程? RRS feed

  • 问题

  • SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["myschool"].ToString());
            SqlDataAdapter sda = new SqlDataAdapter("Rownumber", conn);
            sda.SelectCommand.CommandText = SqlDataSourceCommandType.StoredProcedure;
            SqlParameter param1 = new SqlParameter("@data_field", "sex");
            SqlParameter param2 = new SqlParameter("@pagesize", 3);
            SqlParameter param3 = new SqlParameter("@page_index",1);

            sda.SelectCommand.Parameters.Add(param1);
            sda.SelectCommand.Parameters.Add(param2);
            sda.SelectCommand.Parameters.Add(param3);
            DataSet ds = new DataSet();
            sda.Fill(ds, "student");
            GridView1.DataSource = ds;
            DataBind();

    记得2008 里面 要设置 执行的类型 是sql语句 还是存储过程

    但是2010里的那句话怎么写?

    commandtype=?

    2010年12月7日 7:31

答案

  • 请使用 System.Data.SqlClient.SqlCommand 执行存储过程。设置其 CommandText 为存储过程的名字,CommandType 为 StoredProcedure 然后 ExecuteNonQuery 或者 ExecuteReader 就可以了。
    Mark Zhou
    2010年12月7日 10:17
    • 执行存储过程:sda.SelectCommand.CommandType = CommandType.StoredProcedure;
    • 执行SQL命令:sda.SelectCommand.CommandType = CommandType.Text;


    知识改变命运,奋斗成就人生!
    2010年12月7日 12:11
    版主
  • 您好,把sda.SelectCommand.CommandText = SqlDataSourceCommandType.StoredProcedure;
    这句改为sda.SelectCommand.CommandType = CommandType.StoredProcedure;

    另,
    sda.SelectCommand.CommandText = "Rownumber"; // sda.SelectCommand.CommandText应该等于存储过程的名称或是Sql语句。您在SqlDataAdapter sda = new SqlDataAdapter("Rownumber", conn);中已写了。

    2010年12月7日 13:25
  • sda.SelectCommand.CommandText = 填写存储过程名称

    sda.SelectCommand.CommandType=CommandType.StoredProcedure

    2010年12月8日 12:47

全部回复

  • 请使用 System.Data.SqlClient.SqlCommand 执行存储过程。设置其 CommandText 为存储过程的名字,CommandType 为 StoredProcedure 然后 ExecuteNonQuery 或者 ExecuteReader 就可以了。
    Mark Zhou
    2010年12月7日 10:17
    • 执行存储过程:sda.SelectCommand.CommandType = CommandType.StoredProcedure;
    • 执行SQL命令:sda.SelectCommand.CommandType = CommandType.Text;


    知识改变命运,奋斗成就人生!
    2010年12月7日 12:11
    版主
  • 您好,把sda.SelectCommand.CommandText = SqlDataSourceCommandType.StoredProcedure;
    这句改为sda.SelectCommand.CommandType = CommandType.StoredProcedure;

    另,
    sda.SelectCommand.CommandText = "Rownumber"; // sda.SelectCommand.CommandText应该等于存储过程的名称或是Sql语句。您在SqlDataAdapter sda = new SqlDataAdapter("Rownumber", conn);中已写了。

    2010年12月7日 13:25
  • sda.SelectCommand.CommandText = 填写存储过程名称

    sda.SelectCommand.CommandType=CommandType.StoredProcedure

    2010年12月8日 12:47