標籤:
1.先在資料庫中完成儲存過程
create proc usp_selectStudent@studentName nvarchar(10)asselect * froom student where StudentName=@studentNanmego
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"); //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();
參數命令化 防止Sql注入