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();
            }
    
    
        }
    }
    


  • 相关阅读:
    ipfs cluster 模式部署使用(docker-compose 环境运行)
    lerna import && add 使用&&常见问题解决
    memsql kafka集成
    memsql 6.7集群安装
    过程、性能基线、性能模型与目标之间的关系
    oracle extract函数
    ORACLE的VARCHAR2是字节还是字符
    infor系统日常问题解决笔记
    Oracle获取当前年、月、日的方法
    Windows下Redis中RedisQFork位置调整
  • 原文地址:https://www.cnblogs.com/zorrobubble/p/3596915.html
Copyright © 2011-2022 走看看