求大神讲解c#中sqlparameter的用法
网上几乎所有人都是转载同一篇文章讲的根本听不懂我是想问在定义一个sqlcommand对象后为其添加sqlparameter参数确保输入的内容不会因为单引号或者注入语句所侵...
网上几乎所有人都是转载同一篇文章 讲的根本听不懂 我是想问 在定义一个sqlcommand 对象后 为其添加sqlparameter参数确保输入的内容不会因为单引号或者注入语句所侵害 如果我想要查询呢? 最后需要的是dataset对象 还怎么用sqlparameter呢? 例如sqldataadapter da=new sqldataadapter(cmdstr,conn); dataset ds=new dataset(); da.fill(ds); 这样还怎么用sqlparameter呢??
展开
2个回答
2016-06-29
展开全部
C# 中SqlParameter类的使用方法小结
在c#中执行sql语句时传递参数的小经验 1、直接写入法: 例如: int Id =1; string Name="lui"; cmd.CommandText="insert into TUserLogin values("+Id+",'"+Name+"')"; 因为Id是数值,所以在传递的时候只需要在sql字符串中用"+Id+"即可实现,而 Name是字符串,所以在传递的时候还需要在"+Name+"两边各加一个单引号(')来 实现; 2、给命令对象添加参数法: 例如: int Id =1; string Name="lui"; cmd.CommandText="insert into TUserLogin values(@Id,@Name)"; //上条语句中直接在sql语句中写添加的参数名,不论参数类型都是如此. SqlParameter para=new SqlParameter("@Id",SqlDbType.int,4);//生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同 para.Value=Id;//给参数赋值 cmd.Parameters.Add(para);//必须把参数变量添加到命令对象中去。 //以下类似 para=new SqlParameter("@Name",SqlDbType.VarChar,16); para.Value=Name; com.Parameters.Add(para); ...然后就可以执行数据库操作了。
-----------------------------------
或者用数组
在c#中执行sql语句时传递参数的小经验 1、直接写入法: 例如: int Id =1; string Name="lui"; cmd.CommandText="insert into TUserLogin values("+Id+",'"+Name+"')"; 因为Id是数值,所以在传递的时候只需要在sql字符串中用"+Id+"即可实现,而 Name是字符串,所以在传递的时候还需要在"+Name+"两边各加一个单引号(')来 实现; 2、给命令对象添加参数法: 例如: int Id =1; string Name="lui"; cmd.CommandText="insert into TUserLogin values(@Id,@Name)"; //上条语句中直接在sql语句中写添加的参数名,不论参数类型都是如此. SqlParameter para=new SqlParameter("@Id",SqlDbType.int,4);//生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同 para.Value=Id;//给参数赋值 cmd.Parameters.Add(para);//必须把参数变量添加到命令对象中去。 //以下类似 para=new SqlParameter("@Name",SqlDbType.VarChar,16); para.Value=Name; com.Parameters.Add(para); ...然后就可以执行数据库操作了。
-----------------------------------
或者用数组
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询