中易网

SqlParameter的用法

答案:3  悬赏:50  
解决时间 2021-03-21 20:02
我有个数据访问层的类DBHelper,里面有个方法RunSQLReturnDT,用来执行sql语句,并返回DataTable。在业务逻辑层,我调用DBHelper.RunSQLReturnDT(sql).而我想在业务逻辑层的方法里,用SqlParameter的方法把sql语句处理一下,不用拼接的方法。该怎么做呢?
最佳答案
例如添加
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into book(");
strSql.Appen("bookID,bookName,bookPrice)");
strSql.Append(" values (");
strSql.Append("@bookID,@bookName,@bookPrice)");
SqlParameter[] parameters = {
new SqlParameter("@bookID", SqlDbType.Int,4),
new SqlParameter("@bookName", SqlDbType.NVarChar,100),
new SqlParameter("@bookPrice", SqlDbType.Int,4)};
parameters[0].Value = bookID;
parameters[1].Value = bookName;
parameters[2].Value = bookPrice;

然后连接数据库其他的都正常走~~
就是定义SqlCommand对象后
把SqlParameter循环赋值给SqlCommand对象就可以了
例如:
if (parameters!= null)
{
foreach (SqlParameter parm in parameters)
cmd.Parameters.Add(parm);//cmd为SqlCommand对象
}
全部回答
cmd.parameters.add方法有好多重载的方法,只是参数形式不同而已,核心过程还是一样的,只是形式不一样 cmd.parameters.add("pagesize", sqldbtype.int, 4),这个方法里面可能是这样实现的 cmd.parameters.add(string name, sqldbtype type, int size) { cmd.parameters.add(new sqlparameter(name, type, size); } 这样理解了吧
那用存储过程吧,用sqlparameter传参数,这样就不是拼接的了。或者这样: select * from testTable where name = @name and pwd = @pwd;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
漂亮的女生现在都在哪里呢?
谁有腾讯视频的VIP帐号和密码发过来下谢谢 急
质谱仪在测定有机物结构时的优缺点
蜜芽宝贝的moony尤妮佳纸尿裤,品质怎么样?
《世界上最远的距离》泰戈尔原版(最好还有中
如何判断皮肤是 油性 混油 混干 干性?
为何长期不练了,力量会变小,肌肉也没了。
雪蛤油的功效与作用是什么?
气质美女动漫
合肥的金苹果装修公司怎么样?
丹东黄海肥蚬子烤肉加盟
云梦县迪普实业有限公司地址在什么地方,想过
IX35全车贴膜玻璃尺寸大小
懂洋酒价格的来。。急!
宝宝三岁了,拉的大便有臭鸡蛋味
推荐资讯
f th中间填什么?
魔兽世界被困的公主
葱炒红肠的做法
追梦网与哪个支付平台合作
北京环球通达快递有限公司加盟现在能不能做?
周公解梦大全查询梦到小孩突然变得很高大
郭管村地址好找么,我有些事要过去
属小龙和属大龙在一起会幸福吗?
心有千千结,明月解心思,有谁知道下一句对白
绍兴到三江城多少公里
塔吊安装危害
天天向上20100604创意插花,婚礼插画展示时的
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?