按照C#操作Sql Server数据库的方式是不一样的,使用时发现占位符数据会混乱。
查阅相关资料及测试后,总结出这样一套使用方法。
方法:
public bool TsqlExecute(string tsql, params OleDbParameter[] parameters)
{ bool ok = false; cmd = new OleDbCommand(tsql, conn); cmd.CommandType = CommandType.Text; //设置语句解析方式为默认(SQL文本命令) if (parameters != null) //如果参数集合不为空则进行遍历 { foreach (OleDbParameter p in parameters) { if ((p.Direction == ParameterDirection.Output) && p.Value == null) p.Value = DBNull.Value; cmd.Parameters.Add(p); } } try { conn.Open(); int cou = cmd.ExecuteNonQuery(); if (cou > 0) ok = true; conn.Close(); } catch { } return ok; } 调用时:DbData db = new DbData();
OleDbParameter[] pars = new OleDbParameter[] { new OleDbParameter("@a",a), new OleDbParameter("@b",b), new OleDbParameter("@c",c) };db.TsqlExecute("update User set PassWord=@a , NickName=@b where Ids = @c", pars);原文:https://blog.csdn.net/xianglikai1/article/details/76448019