这是一个向sql数据库插入数据的问题~
String insertcmd ="insert into score(姓名,数学,语文,总分,平均分) valuse(@name,@math,@english,@math+@english,(@math+@english)/2)"
sqlcommand mycommand = new (insertcmd,mycon);
mycommand.Parameters.add(New sqlparameter("@name",SqlDbType.NVarchar,10));
mycommand.Parameters("@name").value = s_name.value;(s_name是<input type=text id=s_name runat="server")的id值这就是我的问题所在,为什么要用到Parameters集合呢,然后还要对value属性赋值,为什么不直接就用s_name插入呢
就像这样.
insertcmd="insert into score(姓名,数学,语文,总分,平均分) values (S_name.text)......."
String insertcmd ="insert into score(姓名,数学,语文,总分,平均分) valuse(@name,@math,@english,@math+@english,(@math+@english)/2)"
sqlcommand mycommand = new (insertcmd,mycon);
mycommand.Parameters.add(New sqlparameter("@name",SqlDbType.NVarchar,10));
mycommand.Parameters("@name").value = s_name.value;(s_name是<input type=text id=s_name runat="server")的id值这就是我的问题所在,为什么要用到Parameters集合呢,然后还要对value属性赋值,为什么不直接就用s_name插入呢
就像这样.
insertcmd="insert into score(姓名,数学,语文,总分,平均分) values (S_name.text)......."
解决方案 »
- 如何打印 DataTable
- VS 2003中DataAdapter同时执行多条查询?
- RaiseCallbackEvent能不能实现这个效果?????
- 如何清除DataGrid的记录
- 如何自动触发menu的click事件?
- 公司项目中双击DataGrid单元格编辑的问题。
- 求VS.NET MSDN2003下载地址
- asp.net的cookie怎样和动网论坛(asp)的cookie互访问。
- .NET中正则表达式的问题
- 关于Flash实现点对点播放的问题 500RMB诚求
- aspx网页中的刷新问题 求高人指点
- 用过dtree.js的朋友请进,dtree中的checkbox为何不能设置选中状态,如代码改变checked属性.
为什么不直接用s_name.text呢?
直接就用s_name插入呢如果程序做大了
一般要用到存储过程
这时候就要用到Parameters
而且用Parameters会防止别人利用漏洞来修改数据库好比你说的
s_name是 <input type=text id=s_name runat="server")的id值
如果用户输入以下内容
内容')delete from score--你的数据库增加代码本来是insert into score(列名) values ('内容')
用户输入上面内容就变为
insert into score(列名) values ('内容')delete from score--')
执行了两条语句,一条是添加,一条是删除数据库内容 --后面的就会被当作是注释
如果用Parameters参数就会把内容')delete from score--这一整句写入数据库
反正很有用处就是了