.Net调用存储过程(有传入、传出、返回值、记录集)及SqlDataAdapter、ExecuteNonQuery、SqlDataReader、ExecuteScalar

  1. 存储过程------------------------------------------------------------------------------------------------
  2. CREATE PROCEDURE dbo.sptestList
  3. @strOptions varchar(200) = NULL,
  4. @intID int = NULL,
  5. @strOut nvarchar(50) = NULL   OUTPUT
  6. AS
  7. SET NOCOUNT ON--不返回影响的行数
  8. SET ANSI_WARNINGS OFF--不返警告
  9. /**//* 信息列表 */
  10. IF @strOptions='LIST' BEGIN
  11. SELECT
  12.    id,
  13.    name,
  14.    subject,
  15.    Source
  16. FROM test 
  17. WHERE ID <=@intID
  18. SET @strOut = @strOut + 'out'
  19. RETURN 50
  20. END
  21. GO
  22. -------------------------------------------------------------------------
  23. //StoredProcedure 调用存储过程
  24.     private void BindData2()
  25.     {
  26.         SqlConnection MyConn = new SqlConnection("Server=.;Database=mine;User=sa;Pwd=123;");
  27.         MyConn.Open();
  28.         SqlCommand MyCmd = new SqlCommand();
  29.         MyCmd.Connection = MyConn;
  30.         MyCmd.CommandType = CommandType.StoredProcedure;
  31.         MyCmd.CommandText = "sptestList";
  32.         string strOut = "in---";
  33.         int intReturn = 0;
  34.         SqlParameter[] paras = 
  35.             {
  36.                 new SqlParameter("@strOptions","LIST"),
  37.                 new SqlParameter("@intID",100),
  38.                 //长度一定需要
  39.                 new SqlParameter("@strOut",SqlDbType.VarChar,200),
  40.                 //用来存返回值,ReturnValue随便写都可以,但类型一定是整型(因为数据库只能返回整型)
  41.                 new SqlParameter("ReturnValue",SqlDbType.Int)
  42.             
  43.             };
  44.       
  45.         paras[2].Direction = ParameterDirection.InputOutput;//设置 传入并传出
  46.         paras[2].Value = strOut;
  47.         paras[3].Direction = ParameterDirection.ReturnValue;//设置 返回值
  48.         foreach (SqlParameter par in paras)
  49.         {
  50.             MyCmd.Parameters.Add(par);
  51.         }
  52.         SqlDataAdapter MySda = new SqlDataAdapter(MyCmd);
  53.         DataTable MyDtb = new DataTable();
  54.         MySda.Fill(MyDtb);
  55.         strOut = paras[2].Value.ToString();//接收传出
  56.         intReturn = (int)paras[3].Value;//接收返回值
  57.         Response.Write("Out=" + strOut + "; Return=" + intReturn.ToString() + "<br>");
  58.         this.Repeater1.DataSource = MyDtb;
  59.         this.Repeater1.DataBind();
  60.         MyConn.Close();
  61.     }
  62.     //SqlDataAdapter 执行查询语句
  63.     private void BindData()
  64.     {
  65.         SqlConnection MyConn = new SqlConnection("Server=.;Database=mine;User=sa;Pwd=123;");
  66.         SqlCommand MyCmd = new SqlCommand("SELECT TOP 100 * FROM Test", MyConn);
  67.         SqlDataAdapter MySda = new SqlDataAdapter(MyCmd);
  68.         DataTable MyDtb = new DataTable();
  69.         MySda.Fill(MyDtb);
  70.         this.Repeater1.DataSource = MyDtb;
  71.         this.Repeater1.DataBind();
  72.     }
  73.     //ExecuteNonQuery 执行插入语句
  74.     protected void FInsert()
  75.     {
  76.         SqlConnection MyConn = new SqlConnection("Server=.;DataBase=mine;Uid=sa;Pwd=123;");
  77.         SqlCommand MyCmd = new SqlCommand("INSERT INTO StudentInfo(StNo,StName) VALUES(124532,'A111ww')", MyConn);
  78.         MyConn.Open();
  79.         int i = MyCmd.ExecuteNonQuery();
  80.         Response.Write(i.ToString() + "<br>");
  81.         MyConn.Close();
  82.     }
  83.     //SqlDataReader
  84.     protected void FReader()
  85.     {
  86.         SqlConnection MyConn = new SqlConnection("Server=.;Database=mine;Uid=sa;Pwd=123");
  87.         MyConn.Open();
  88.         SqlCommand MyCmd = new SqlCommand("Select Top 10 StNo,StName from StudentInfo", MyConn);
  89.         SqlDataReader MyRead = MyCmd.ExecuteReader();
  90.         while (MyRead.Read())
  91.         {
  92.             Response.Write(MyRead["StNo"].ToString() + "--" + MyRead["StName"].ToString() + "<br>");
  93.         }
  94.         MyConn.Close();
  95.     }
  96.     //ExecuteScalar
  97.     protected void FScalar()
  98.     {
  99.         //<appSettings>
  100.         //<add key ="SqlConnStr" value="Server=.;DataBase=mine;Uid=sa;Pwd=123"/>
  101.         //</appSettings>
  102.         //SqlConnection MyConn = new SqlConnection(ConfigurationManager.AppSettings["SqlConnStr"]);
  103.         SqlConnection MyConn = new SqlConnection("Server=.;Database=mine;Uid=sa;Pwd=123");
  104.         MyConn.Open();
  105.         SqlCommand MyCmd = new SqlCommand("Select Total=Count(1) from StudentInfo", MyConn);
  106.         string MyS = MyCmd.ExecuteScalar().ToString();
  107.         Response.Write(MyS + "<br>");
  108.         MyConn.Close();
  109.     }
  110. //连接Access
  111.     private void BindAccess()
  112.     {
  113.         //<add key="AccessConString" value="App_Data/db.mdb" />
  114.         string strAccessPath = ConfigurationManager.AppSettings["AccessConString"].ToString();
  115.         OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(strAccessPath));
  116.         con.Open();
  117.         OleDbDataAdapter oda = new OleDbDataAdapter("Select * From Result", con);
  118.         DataTable Dtb = new DataTable();
  119.         oda.Fill(Dtb);
  120.         this.Repeater1.DataSource = Dtb;
  121.         this.Repeater1.DataBind();
  122.         //----------------------二-----------------------------
  123.         //string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data/db.mdb");
  124.         //OleDbConnection con = new OleDbConnection(constr);
  125.         //string cmdstr = "SELECT * FROM Result";
  126.         //con.Open();
  127.         //OleDbCommand cmd = new OleDbCommand(cmdstr, con);
  128.         //OleDbDataReader dr = cmd.ExecuteReader();
  129.     }
  130. //OleDbCommand 执行语句
  131.     protected void Button1_Click(object sender, EventArgs e)
  132.     {
  133.         OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="
  134.             + Server.MapPath(ConfigurationManager.AppSettings["OleDbConnPathStr"]));
  135.         con.Open();
  136.         OleDbCommand cmd = new OleDbCommand("Insert Into Products(Product_Id,Title,Spec,Content) Values('ww123','成功添加01','100*1','真的成功了')", con);
  137.         cmd.ExecuteNonQuery();
  138.         con.Close();
  139.         con.Dispose();
  140.         BindData();
  141.     }
  142.     //OleDbDataAdapter 读取数据
  143.     protected void Button2_Click(object sender, EventArgs e)
  144.     {
  145.         OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="
  146.             + Server.MapPath(ConfigurationManager.AppSettings["OleDbConnPathStr"]));
  147.         con.Open();
  148.         OleDbDataAdapter odad = new OleDbDataAdapter("Select * From Products Where ID=123", con);
  149.         DataTable dtb = new DataTable();
  150.         odad.Fill(dtb);
  151.         if (dtb.Rows.Count > 0)
  152.         {
  153.             DataRow row = dtb.Rows[0];
  154.             this.Label.Text = row["ID"].ToString() + "---" + row["Title"].ToString();
  155.         }
  156.         con.Close();
  157.         con.Dispose();
  158.     }
  159.     //OleDbCommand 执行语句(参数化)
  160.     protected void Button3_Click(object sender, EventArgs e)
  161.     {
  162.         OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="
  163.             + Server.MapPath(ConfigurationManager.AppSettings["OleDbConnPathStr"]));
  164.         con.Open();
  165.         OleDbCommand cmd = new OleDbCommand();
  166.         cmd.Connection = con;
  167.         cmd.CommandType = CommandType.Text;
  168.         cmd.CommandText = "Insert Into Products(Product_Id,Title,Spec,Content) Values(@Product_Id,@Title,@Spec,@Content)";
  169.         OleDbParameter[] paras = {
  170.             new OleDbParameter("@Product_Id",OleDbType.VarChar),
  171.             new OleDbParameter("@Title",OleDbType.VarChar),
  172.             new OleDbParameter("@Spec",OleDbType.VarChar),
  173.             new OleDbParameter("@Content",OleDbType.VarChar)
  174.         };
  175.         paras[0].Value = "qq123";
  176.         paras[1].Value = "qq成功添加";
  177.         paras[2].Value = "10*10";
  178.         paras[3].Value = "qq真的成功了";
  179.         foreach (OleDbParameter para in paras)
  180.         {
  181.             cmd.Parameters.Add(para);
  182.         }
  183.         cmd.ExecuteNonQuery();
  184.         con.Close();
  185.         con.Dispose();
  186.         BindData();
  187.     }
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值