SQL注入我写的怎么不对呢?
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0120: 非静态的字段、方法或属性“System.Data.OleDb.OleDbCommand.Parameters.get”要求对象引用
源错误:
行 134:
行 135: OleDbCommand.Parameters.Add(new OleDbParameter( "@loginName ", OleDbType.NVarChar, 20));
行 136: OleDbCommand.Parameters[ "@loginName "].Value = this.UserName.Text;
------解决方案--------------------OleDbCommand.Parameters.Add(new OleDbParameter( ":loginName ", OleDbType.NVarChar, 20));
OleDbCommand.Parameters[ "loginName "].Value = this.UserName.Text;
------解决方案--------------------参数格式不对,Sqlserver是@,Oracle是:,MySql是?;
SQL语句中也是如此
------解决方案--------------------看错了,OleDbCommand是需要实例化的,如:
System.Data.OleDb.OleDbCommand oc = new System.Data.OleDb.OleDbCommand( "select * form user where id=@id ");
oc.Parameters.Add( "id ", System.Data.OleDb.OleDbType.Integer);
oc.Parameters[ "id "].Value = 123;
------解决方案--------------------这个有点乱.
操作数据库干脆都用 SQLHELPER就行啦
------解决方案--------------------new Command 是没有贴出来还是没写?
------解决方案--------------------mark
看不出代码哪里错误
------解决方案--------------------System.Data.OleDb.OleDbCommand 需要实例化,然后再用实例,也就是New一个对象出来,除非调用的是静态方法