C#操作Access时Parameters集合的使用方法

按照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);



你可能感兴趣的:(C#)