[C#] 数据库 参数化 查询
2012-04-11 17:00
225 查看
为了数据库注入漏洞, 我们在对数据库进行查询的时候, 要使用参数化查询
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace 参数化查询 { class Program { static void Main(string[] args) { //提示用户输入用户名和密码 Console.WriteLine("请输入用户名:"); string name = Console.ReadLine().Trim(); Console.WriteLine("请输入密码:"); string pwd = Console.ReadLine().Trim(); //新建数据库连接 using (SqlConnection conn = new SqlConnection(GetConnectString())) { conn.Open();//打开数据库连接 //创建数据库查询命令 using (SqlCommand cmd = conn.CreateCommand()) { //定义查询语句,其中@username和@passwd是参数变量 cmd.CommandText = "SELECT COUNT(*) FROM userinfo WHERE NAME=@username and PASSWORD=@passwd"; //将name的数据赋值给查询语句中的username cmd.Parameters.Add(new SqlParameter("username", name)); //将pwd的数据赋值给查询语句中的passwd cmd.Parameters.Add(new SqlParameter("passwd", pwd)); //执行查询后,返回查询结果中的第一行第一列 int i = Convert.ToInt32(cmd.ExecuteScalar()); if (i > 0) { Console.WriteLine("登录成功!"); } else { Console.WriteLine("登录失败!"); } } } Console.ReadKey(); } //返回数据库连接字符串 static string GetConnectString() { return "Data Source=127.0.0.1;Initial Catalog=db1;Integrated Security=SSPI"; } } }
相关文章推荐
- c# 针对不同数据库进行参数化查询
- c#查询数据库给combobox赋值
- [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
- C#连接oracle 数据库查询时输入中文查询不出来,用plsql就可以
- C#连接查询数据库
- C#中,当从数据库中查询到数据,以DataTable类型返回后,如果需要对DataTable中的数据进行筛选,可以选择下面的方式
- C# 如何异步查询数据库
- C# 如何异步查询数据库
- C#查询数据库时问题: Min(1) must be less than or equal to max(-1) in Range object
- C#实现对数据库中的表的查询、添加、修改、删除数据
- C#中查询数据库的图片system.byte[]怎么转为img
- SQL学习笔记8——查询到数据库的值为null在C#中如何判断
- C# 操作 MySQL 数据库(连接,查询,插入)
- ASP.NET(C#)查询数据库的多种方法
- [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
- 使用c#实现简单的数据库添加和查询
- C# 判断 SqlDataReader 实例是否包含查询数据库表的列
- 有些access语句在数据库中可以执行,但是在C#上又不能执行,比如模糊查询-like
- C#WinForm利用Web Service API查询数据库并显示到客户端
- 从数据库随机查询出一批数据并排序输出——C#中DataTable技术学习