zoukankan      html  css  js  c++  java
  • C#调用SQL Server存储过程简单实例

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    
    namespace StoreTest
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void btn_StoreInvoke_Click(object sender, EventArgs e)
            {
                string conn = "server=.;database=TESTSD;uid=sa;pwd=j6394126";
                SqlConnection SqlConnection = new SqlConnection(conn);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = SqlConnection;//设定sql连接
                cmd.CommandText = "getAllData";//设置调用存储过程的名字
                cmd.CommandType = CommandType.StoredProcedure;//指定执行语句为存储过程
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);//填充dataset
                this.dgv_StoreView.DataSource = ds.Tables[0];
                //dgv_StoreView.DataBind(); 这个是asp.net才需要添加这句,winform设置数据源后就行了,不用再进行绑定
            }
    
            private void btn_StoreNoInOutParam_Click(object sender, EventArgs e)
            {
                string conn = "server=.;database=TESTSD;uid=sa;pwd=j6394126";
                SqlConnection SqlConn = new SqlConnection(conn);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = SqlConn;
                cmd.CommandText = "InsertInfo";
                cmd.CommandType = CommandType.StoredProcedure;
                SqlConn.Open();
                this.txt_StoreNoInOut.Text = "执行存储过程影响了:"+cmd.ExecuteNonQuery().ToString()+"行";
                SqlConn.Close();
    
            }
    
            private void btn_Test3_Click(object sender, EventArgs e)
            {
                string conn = "server=.;database=TESTSD;uid=sa;pwd=j6394126";
                SqlConnection SqlConn = new SqlConnection(conn);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = SqlConn;
                cmd.CommandText = "InOutTest";
                cmd.CommandType = CommandType.StoredProcedure;//设置使用存储过程
    
                cmd.Parameters.Add("@studentId", SqlDbType.VarChar);//设置默认的输入参数值
                cmd.Parameters.Add("@studentName", SqlDbType.VarChar, 50);//设置默认的输出参数,否则默认的Size为0
                cmd.Parameters.Add("@studentClass", SqlDbType.VarChar, 50);//设置默认的输出参数,否则默认的Size为0
                cmd.Parameters.Add("@studentScores", SqlDbType.Int);//设置默认的输出参数,否则默认的Size为0
                cmd.Parameters.Add("@rowCount", SqlDbType.Int);//设置默认的输出参数,否则默认的Size为0
    
                cmd.Parameters["@studentId"].Value = 2;//为默认参数赋值
                cmd.Parameters["@studentName"].Direction = ParameterDirection.Output;//设置参数为输出参数,否则默认情况为输入参数
                cmd.Parameters["@studentClass"].Direction = ParameterDirection.Output;//设置参数为输出参数,否则默认情况为输入参数
                cmd.Parameters["@studentScores"].Direction = ParameterDirection.Output;//设置参数为输出参数,否则默认情况为输入参数
                cmd.Parameters["@rowCount"].Direction = ParameterDirection.ReturnValue;//设置为返回值操作
    
                //以下注释掉的也是一种方式,任选一种
    
                //IDataParameter[] parameters ={
                                            
                //                            new SqlParameter("@studentId",SqlDbType.VarChar),
                //                            new SqlParameter("@studentName",SqlDbType.VarChar,50),
                //                            new SqlParameter("@studentClass", SqlDbType.VarChar, 50),
                //                            new SqlParameter("@studentScores",SqlDbType.Int),
                //                            new SqlParameter("@rowCount", SqlDbType.Int)
                                            
                //                            };
                //cmd.Parameters.Add(parameters[0]);
                //cmd.Parameters.Add(parameters[1]);
                //cmd.Parameters.Add(parameters[2]);
                //cmd.Parameters.Add(parameters[3]);
                //cmd.Parameters.Add(parameters[4]); 
    
                //parameters[0].Value = 2;
                //parameters[1].Direction = ParameterDirection.Output;//设置参数为输出参数,否则默认情况为输入参数
                //parameters[2].Direction = ParameterDirection.Output;//设置参数为输出参数,否则默认情况为输入参数
                //parameters[3].Direction = ParameterDirection.Output;//设置参数为输出参数,否则默认情况为输入参数
                //parameters[4].Direction = ParameterDirection.ReturnValue;//设置为返回值操作
    
    
               
    
                SqlConn.Open();
                cmd.ExecuteNonQuery();
                this.txt_name.Text = cmd.Parameters["@studentName"].Value.ToString();//获取Id为3的名字
                this.txt_Class.Text = cmd.Parameters["@studentClass"].Value.ToString();//获取Id为3的班级
                this.txt_Socres.Text = cmd.Parameters["@studentScores"].Value.ToString() + "-" + "影响了:" +
                                       cmd.Parameters["@rowCount"].Value.ToString() + "行";//获取Id为3的分数
    
                //this.txt_name.Text = parameters[1].Value.ToString();//获取Id为3的名字
                //this.txt_Class.Text = parameters[2].Value.ToString();//获取Id为3的班级
                //this.txt_Socres.Text = parameters[3].Value.ToString() + "-" + "影响了:" +
                //                       parameters[4].Value.ToString() + "行";//获取Id为3的分数
                SqlConn.Close();
            }
    
    
        }
    }
    


  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/zorrobubble/p/3596915.html
Copyright © 2011-2022 走看看