復習ADO.NET的參數查詢 Parameter


1、使用SqlParameter類表示 SqlCommand 的參數。

2、SqlParameter提供兩個參數,參數別名(@前綴)與參數值。

3、SqlCommand提供一個Parameter屬性,該屬性表示SqlParameter的集合,使用Add方法添加(記得new)。

4、Parameter屬性表示的是一個集合,不使用了要清空。

練習,登錄驗證:

 

 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5 
 6             while (true)
 7             {
 8                 Console.WriteLine("用戶名");
 9                 string name = Console.ReadLine();
10                 Console.WriteLine("密碼");
11                 string pwd = Console.ReadLine();
12 
13             string constr = @"server=.\sqlexpress;database=MyDataBase;uid=sa;pwd=sa";
14             using (SqlConnection sqlconn = new SqlConnection(constr))
15             {
16                 //老方法
17                 //string cmdstr = string.Format(@"select * from loginn where uname='{0}' and upwd='{1}'",name,pwd);
18                             //參數化查詢
19                                 string cmdstr = @"select * from loginn where uname=@name1 and upwd=@pwd1";
20                                                                               //@name1,@pwd1僅僅是別名而已,相當於局部變量
21                 using (SqlCommand cmd = new SqlCommand(cmdstr, sqlconn))
22                 {
23                     //加參數
24                     cmd.Parameters.Add(new SqlParameter( "@name1", name));//把name中的值賦給@name1
25                    cmd.Parameters.Add(new SqlParameter("@pwd1", pwd));   //注意Add方法中是new了一個 SqlParameter
26                      //  cmd.Parameters.AddWithValue("@pwd1", pwd);//此方法內部實現同Add,推薦用前者
27                     if (sqlconn.State == ConnectionState.Closed)
28                     {
29                         sqlconn.Open();
30                     }
31                    
32 
33                         if (Convert.ToInt32(cmd.ExecuteScalar()) == 1)
34                         {
35                             Console.WriteLine("登錄成功");
36                             break;
37                         }
38                         else
39                         {
40                             Console.WriteLine("重新輸入");
41                             continue;
42                         }
43                     }
44                    
45                 }
46 
47             }
48             Console.ReadKey();
49         }
50     }

 

 

如有錯誤,謝謝指正


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM