1.先在数据库中完成储存过程

create proc usp_selectStudent
@studentName nvarchar(10)
as
select * froom student where StudentName=@studentNanme
go

2.然后再C#程序中调用储存过程防止Sql注入

    //1.1  连接字符串
string str = "data source=.;initial catalog=MySchool;uid=sa;pwd=6375196";
//1.2 创建连接对象 呵呵
SqlConnection con = new SqlConnection(str);
//创建SqlCommand 对象的第二种方式
//从Con出发
//1.3 从连接对象构建命令对象
SqlCommand cmd = con.CreateCommand();
//1.4 给命令对象需要执行的SQL语句赋值
cmd.CommandText = "usp_selectInfo";
//告诉SQL引擎我传递过来的是 存储过程的名称
//1.5 我们告诉SQL引擎 我通过网线送过去的字符串是 一个存储过程的名字啊
cmd.CommandType= CommandType.StoredProcedure;
//1.6 构建存储过程的输入参数,并且给参数赋值,
//参数的名称必须和定义存储过程的输入参数名称完成相同
SqlParameter para=new SqlParameter("@sex","");
//1.7 将参数和命令对象的参数集合绑定
cmd.Parameters.Add(para);
//1.8 打开数据库连接通道真正建立
con.Open();
//1.9 构建一个适配器 )卡车( 对象
SqlDataAdapter da=new SqlDataAdapter();
//1.10 将已经初始化好的cmd对象和da绑定
da.SelectCommand = cmd;
//1.11 构建内存中的数据集对象
DataSet ds=new DataSet();
//1.12 从DB 拎 数据到DataSet 中的一张表
da.Fill(ds, "StuInfo");
//1.13 将dgv的数据源指向表
dgvList.DataSource = ds.Tables["StuInfo"];
//1.14 连接关闭
con.Close();
04-30 04:00