小弟想用Access使用参数化查询,搞了好久都搞不出来,希望各位高手帮帮我,初入开发,什么都不会。

///这是DBHelper里面的两个方法
public static OleDbCommand CreateCommand(string sqlStr, OleDbParameter[] parame)
{
Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
cmd.Connection = con;
if (parame != null)
{
foreach (OleDbParameter pare in parame)
{
cmd.Parameters.Add(pare);
}
}
return cmd;
}

public static OleDbDataReader GetReader(string sqlStr)
{
OleDbCommand cmd = CreateCommand(sqlStr);
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;

}

//我在dal中写了个查询语句,想用参数化语句,就写了这么点不知道该怎么写了,求求高手帮忙。
public OleDbDataReader getIsUser(string name, string pwd)
{
string sql = select * from 用户表,公司表 where 账号=? and 密码=? “;

OleDbDataReader res = DBHelper.GetReader(sql);

return res;
}

public OleDbDataReader getIsUser(string name, string pwd)
{
string sql = select * from 用户表,公司表 where 账号=@账号 and 密码=@密码 “;
OleDbDataReader res = DBHelper.GetReader(sql,new sqlparemeter("账号",账号值),new sqlparemeter("密码",密码值));
return res;
}追问

谢谢你的帮助,今天最头疼的问题解决了。还有个小小的问题想请教下:

我看网上说的 access 参数化查询是要用 ?的,而sql是用@的,为什么在这也能用@?

追答

这个还真不清楚。我平时用的是sql。
你为什么要用参数查询呢?

追问

防止sql注入,你懂得。

追答

access做的东西有多少人有兴趣来注入?本来这就是小型的桌面级的。

追问

给我们公司做企业宣传网站,后台管理选择了acess,因为存储的东西都很少,用sql的话感觉有点大材小用,不知在兄台看来是否合理?

追答

合理的呀。还有sqlite你也可以尝试的。sqlserver如果你能安装又何尝不可呢?

温馨提示:内容为网友见解,仅供参考
无其他回答

...是纸牌问题,我想了很久,都想不出,希望各位高手帮帮忙,请解释详细一 ...
第一步:约翰教授只告诉P先生点数,而P先生说不知道——说明这张牌的点数在这16张之中不是唯一。比方说教授告诉P先生的点数是J,那么P先生会很轻易得知这张牌是黑桃J,因为J只有黑桃有。所以,由此可知,教授挑的牌只可能是红桃A,Q,4,黑桃4,草花Q,5,4,方块A,5。第二步:约翰教授又告...

请各位高手帮我看一下,哪里出问题了?在登录窗体中输入数据均无效,无 ...
1、光有recordset对象没有connection对象是不可能连接数据库的;2、name字段毫无疑问肯定是字符串型的,所以一定要加上单引号定界符'',就像pwd一样;3、name是SQL的保留字,如果用做字段名,使用时要加上方括号,即[name];4、你题目中最后一张图那个SQL语句中的逗号是全角逗号,要改为半角逗号;5、...

各位高手,为什么我的access连简单的代码都运行不了啊?帮我看一下下面...
首先你应该确定Command4这个控件是存在的,不知道你的Command4控件是直接放在sheet裏面,还是在form裏面?在sheet裏面的话要想单击控件执行代码,需要先结束控件的设计模式

在使用Access的联合查询过程中,一直出现“动作查询不能作为行的来源...
意思是说,你使用的那些表有可能是来自查询动作中的,所以无法进行联合查询。联合查询是指可以联合两个不同的数据表进行查询。其中from后面就是指数据所在的表,你自己再重新看看吧!

想问问各位编程高手最开始的时候是怎么下手的,也可以说是怎么从什么都...
我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的假期我就开始了学习,记得我买的第一本书是《计算机基础DOS3.0》,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0,5.0,6.0...

急急急!去各位情圣,各位高手,帮帮我!有位女生多次向我暗示爱意,我很想...
不要像个小孩子,女孩子都很懒希望能找个依靠,你要拿出自己的信心和责任心来。 有一个错的选择总比没有选择要好的多。 3、不要太正经,但也不要太随便 该正经的地方就正经,该调侃的的时候就调侃。 女孩子都喜欢有点玩世不恭的男人,所以别显得对什么都特别在意,那样太呆板。 4、显得成熟一点 遇事镇定、从容...

电脑入侵的话题,急求高手进入,帮助我解决一点问题,急啊
可以使用RCPT命令获得用户名列表.可以使用VRFY命令获得用户名列表.超时错误!开始扫描FINGER漏洞:目标没有开放FINGER服务...开始扫描CGI漏洞:WWW服务器的Banner:HTTP\/1.1 403 Access Forbidden Server: Microsoft-IIS\/5.0 Date: Wed, 21 Jun 2006 06:55:13 GMT Content-Type: text\/html Content-...

...把大家各科的成绩都提高上去,请各位高手帮我出出主意啊~
1、成立学习小组,四人一组或是一帮一。2、将竞争引入学习小组:组内成员或组与组之间进行竞争,但一定不要给同学们造成压力。期末时哪一组学习成绩提高得最快,可以发一些奖品作为奖励;而竞争中落后方,同样可以发一些小礼物鼓励一下他们,使得参与其中的每一位同学都感到轻松愉快,而不是紧张。整个...

...小弟我不懂英文 请各位高手帮帮忙 万分感谢!!!
1、请你用系统自带的系统还原,还原到你没有出现这次故障的时候修复(或用还原软件进行系统还原,如果进不了系统,开机按F8进入安全模式还原系统)。2、如果故障依旧,使用系统盘修复,打开命令提示符输入SFC \/SCANNOW 回车(SFC和\/之间有一个空格),插入原装系统盘修复系统,系统会自动对比修复的。3、...

求求各位高手帮帮我。explorer.exe---应用程序错误,drwtsn32.exe...
3)explorer.exe是系统外壳,这个文件因开机就被加载到内存中,这个文件通常不会损坏。发生错误是因为在注册表中与explorer的关联项发生异常,原因很多,不太好查找。所以一般只有重新安装系统。【建议】最好安装【完整版】或【正版】系统。如果觉得比较麻烦,可以使用启动盘启动系统,在恢复控制台中修复。【...

相似回答