A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

            //第一步:定义一个连接字符串
            string connString = "data source=127.0.0.1;initial catalog=itcast;integrated security=true";
            //第二步:获取用户输入的用户名和密码
            string name = txtUId.Text.Trim();
            string pwd = txtPwd.Text.Trim();
            //第三步:定义一个连接变量conn
            using (SqlConnection conn = new SqlConnection(connString))
            {
                //第四步:定义一个Sql语句,将参数传进去
                string sql = "select COUNT(*) from tbluser where username =@username and userpwd =@userpwd";
                //第五步:定义一个操作数据库的变量cmd
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    try
                    {
                        //打开连接

                        conn.Open();
                        //首先,设置pname的类型
                        SqlParameter pname=new SqlParameter ("@username",SqlDbType .VarChar ,20);
                        pname .Value =name;
                        cmd.Parameters.Add(pname);

                        SqlParameter ppwd = new SqlParameter("@userpwd", SqlDbType.VarChar, 50);
                        ppwd.Value = pwd;
                        cmd.Parameters.Add(ppwd);
                        //第七步:开始执行
                        int row=Convert.ToInt32 (cmd.ExecuteScalar());
                        if (row > 0)
                        {
                            MessageBox.Show("登陆成功");
                        }
                        else
                        {
                            MessageBox.Show("用户名或密码错误");
                        }
                    }
                   catch (Exception ex)
                    {

                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }


上面cmd.Parameter.Add()方法和cmd.Parameter.AddWithValue()方法有什么区别?
看见网上很多的代码或者评论都是推荐用Add()方法,这是为什么?
其比AddWithValue()的优越性体现在哪里?
求高手解答


评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

1 个回复

倒序浏览
cmd.Parameter.Add()方法使用前需要先声明Parameter实例,
而cmd.Parameter.AddWithValue()方法使用直接将参数和替换值加上去即可。
前面的方法更有条理性,看上去不会太乱。:)

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马